#include #include using namespace std; int N; vectorG[1<<20]; const long mod=1e9+7; long ans; pairdfs(int u,int p) { int c=0; long t=0; for(int v:G[u])if(v!=p) { pairq=dfs(v,u); c+=q.first; t+=q.second; t%=mod; } ans+=c+t; ans%=mod; return make_pair(c+1,(c+t)%mod); } int deg[1<<20]; main() { cin>>N; for(int i=1;i>u>>v; u--,v--; G[u].push_back(v); deg[v]++; } int root=0; while(deg[root])root++; dfs(root,-1); cout<