珍珠
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
#define inf 0x3f3f3f3f
const int N=105;
int mapp[N][N];
// int ans[N];
int main(){
int n,m;
scanf("%d%d",&n,&m);
// memset(mapp,inf,sizeof(mapp));
while(m--){
int a,b;
scanf("%d%d",&a,&b);
mapp[b][a]=1;
}
//floyd算法这种用法是真的nice
for(int k=1;k<=n;k++)
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
mapp[i][j]=mapp[i][j]||(mapp[i][k]&&mapp[k][j]);
int ans=0;
for(int i=1;i<=n;i++){
int cnt1=0;
for(int j=1;j<=n;j++)
if(mapp[i][j])cnt1++;
int cnt2=0;
for(int j=1;j<=n;j++)
if(mapp[j][i])cnt2++;
if(cnt1>n/2||cnt2>n/2)ans++;
}
printf("%d",ans);
return 0;
}