int n, m;int mp[MAX][MAX];intmain(){
cin >> n >> m;fill(mp[0], mp[0]+ MAX * MAX,0);while(m--){int a, b;
cin >> a >> b;
mp[a][b]=1;
mp[b][a]=-1;}for(int k =1; k <= n; k++)for(int i =1; i <= n; i++)for(int l =1; l <= n; l++)if(mp[i][k]== mp[k][l]&& mp[i][k])
mp[i][l]= mp[i][k];int ans =0;for(int i =1; i <= n; i++){int f =0;for(int j =1; j <= n; j++)
f +=fabs(mp[i][j]);if(f == n -1)
ans++;}
cout << ans << endl;}