#include #define mod 1000000007 #define F first #define S second #define ll long long #define N 100010 using namespace std; int ksm(int x,int y){ int ret=1; while(y){ if(y&1) ret=(1ll*ret*x)%mod; x=(1ll*x*x)%mod; y>>=1; } return ret; } int n,m,inv[N],fact[N],f[N][2],ans; vector > vt[N]; bool vis[N]; void dfs(int x,int lst){ if(vt[x].size()==1&&lst!=-1){ f[x][0]=1,f[x][1]=0; return; } int val=inv[vt[x].size()-1]; f[x][0]=f[x][1]=0; for(int i=0;i1){ dfs(i,-1); break; } for(int i=0;i