#include<iostream>
#include<cstring>
using namespace std;
const int N=110,INF=0x3f3f3f3f;
int f[N][N];
int main()
{
int n,m;
cin>>n>>m;
memset(f,0x3f,sizeof f);
int x,y;
for(int i=0;i<m;i++)
{
cin>>x>>y;
//x>y
f[x][y]=1;
//x<y
f[y][x]=-1;
}
for(int k=1;k<=n;k++)
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
if(f[i][k]==f[k][j]&&(f[i][k]==1||f[i][k]==-1))
f[i][j]=f[i][k];
int ans=0;
for(int i=1;i<=n;i++)
{
int sum=0;
//如果能确定和其他niu的关系
for(int j=1;j<=n;j++)
if(f[i][j]!=INF)
sum++;
if(sum==n-1)
ans++;
}
cout<<ans<<endl;
}