#include <bits/stdc++.h>
using namespace std;
int n,m,a[5002][5002],sum[5002],in[5002],out[5002],temp1,temp2,ans=0;
int main(){
cin>>n>>m;
int s=n;
memset(a,0,sizeof(a));
memset(sum,0,sizeof(sum));
memset(in,0,sizeof(in));
memset(out,0,sizeof(out));
for (int i=1;i<=m;i++){
scanf("%d %d",&temp1,&temp2);
a[temp1][temp2]+=1;
in[temp2]+=1;
out[temp1]+=1;
}
for (int i=1;i<=n;i++) if (in[i]==0){
s--;
sum[i]=1;
}
while (s>0){
for (int j=1;j<=n;j++){
if (in[j]==0){
s--;
for (int k=1;k<=n;k++) if (1==a[j][k]){
sum[k]=sum[k]+sum[j];
if (sum[k]>=80112002) sum[k]-=80112002;
in[k]-=1;
}
in[j]=-1;
}
}
}
for (int j=1;j<=n;j++) if (out[j]==0){
ans=ans+sum[j];
if (ans>=80112002) ans-=80112002;
}
cout<<ans;
return 0;
}