求改!
#include<bits/stdc++.h>
using namespace std;
int n,m,ind[100086],outd[100086],x,y,f[100086],ans;
int a[100086][100086];
queue <int> q;
const int mod=80112002;
int main(){
cin>>n>>m;
for(int i=1;i<=m;i++){
cin>>x>>y;
a[x][y]=1;
outd[x]++;
ind[y]++;
}
for(int i=1;i<=n;i++){
if(ind[i]==0){
f[i]=1;
q.push(i);
}
}
while(!q.empty()){
x=q.front();
q.pop();
for(int i=1;i<=n;i++){
if(a[x][i]==0){
continue;
}
f[i]+=f[x];
ind[i]--;
if(ind[i]==0){
if(outd[i]==0){
ans+=f[i];
ans%=mod;
}
q.push(i);
}
}
}
cout<<ans;
return 0;
}