#include <bits/stdc++.h>
using namespace std;
int n, m, r;
vector <int> sw[5005];
queue<int> q;
long long ans, cd[5005], rd[5005];
void bfs(){
while(!q.empty()){
int now = q.front();
q.pop();
int sum = rd[now];
if(sum == 0)continue;
ans += sum - 1;
ans %= 80112002;
for(int i = 0; i < sum; i++){
q.push(sw[now][i]);
}
}
}
int main() {
scanf("%d%d", &n, &m);
for(int i = 1; i <= m; i++){
int a, b;
scanf("%d%d", &a, &b);
sw[a].push_back(b);
cd[b]++;
rd[a]++;
}
for(int i = 1; i <= n; i++){
if(cd[i] == 0){
r++;
q.push(i);
}
}
if(r > 0)ans = r;
bfs();
printf("%d\n", ans);
return 0;
}