#include<iostream>
using namespace std;
int mmap[505][505][2];int n,m; int temp=0;int temp2=0;
int vis[505];
void go(int x)
{
vis[x]=1;
for(int i=1;i<=n;i++)
{
if(mmap[x][i][0]==1&&vis[x]==1)
{ temp++;
go(i);
}
}
vis[x]=0;
}
void go2(int x)
{
vis[x]=1;
for(int i=1;i<=n;i++)
{
if(mmap[x][i][1]==1&&vis[x]==1)
{ temp2++;
go2(i);
}
}
vis[x]=0;
}
int main()
{
cin>>n>>m;
for(int i=1;i<=m;i++)
{
int x,y;
cin>>x>>y;
mmap[x][y][0]=1;
mmap[y][x][1]=1;
}int ans=0;
for(int j=1;j<=n;j++)
{ temp=0; temp2=0;
go(j);
go2(j);
if(temp>(n-1)/2)
ans++;
if(temp2>(n-1)/2)ans++;
}
cout<<ans;
return 0;
}