#include <bits/stdc++.h>
using namespace std;
namespace myspace{
#define ll long long
#define pii pair<int,int>
#define endl "\n"
#define file(filename) freopen(filename".in","r",stdin),freopen(filename".out","w",stdout)
#define debug(x) cout<<#x<<"="<<x<<endl
#define x first
#define y second
const int MAXN=5005;
const int INT_INF=2147483647;
const int INF=0x3f3f3f3f;
}
using namespace myspace;
int n,m,mod=80112002;
vector<int> edge[MAXN];
int in_i[MAXN];
int out_i[MAXN];
int f[MAXN];
ll ans;
void dfs(int i)
{
if(out_i[i]==0)
{
ans+=f[i];
ans%=mod;
return ;
}
for(int j=0;j<edge[i].size();j++)
{
int ne=edge[i][j];
f[ne]+=f[i];
in_i[ne]--;
if(in_i[ne]==0){
dfs(ne);
}
}
}
int main()
{
cin>>n>>m;
int u,v;
for(int i=0;i<m;i++)
{
cin>>v>>u;
edge[u].push_back(v);
in_i[v]++;
out_i[u]++;
}
for(int i=1;i<=n;i++)
{
if(in_i[i]==0){
f[i]++;
dfs(i);
}
}
cout<<ans%mod;
return 0;
}