#include<bits/stdc++.h>
#define int long long
#define MOD 80112002
#define ios ios::sync_with_stdio(0),cout.tie(0),cin.tie(0);
using namespace std;
const int N=5010;
int dp[N],g[N][N],n,m,dr[N],dc[N],res;
void topsort(){
queue<int>q;
for(int i=1;i<=n;i++)if(!dr[i])q.push(i),dp[i]=1;
while(q.size()){
int f=q.front();
q.pop();
if(!dc[f])res=(res+dp[f])%MOD;
for(int i=1;i<=n;i++){
if(g[f][i]){
dp[i]=(dp[i]+dp[f])%MOD;
dr[i]--;
if(!dr[i])q.push(i);
}
}
}
}
signed main(){
ios
cin>>n>>m;
int x,y;
while(m--){
cin>>x>>y;
g[x][y]=1;
dc[x]++;
dr[y]++;
}
topsort();
cout<<res;
return 0;
}