#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long int ll; typedef pair P; const ll MOD=1e9+7; vector g[2000]; bool used[2000]; int num[2000], c[4000]; int s[2000]; int ct; int n; void dfs(int x){ s[x]=1; num[x]=ct; c[ct]=x; ct++; used[x]=1; for(auto y:g[x]){ if(!used[y]){ dfs(y); s[x]+=s[y]; } } c[ct]=x+n; ct++; } int main() { int k; cin>>n>>k; for(int i=0; i>a>>b; g[a].push_back(b); g[b].push_back(a); } if(k==n){ cout<<1<n && j>=s[c[i]-n]) dp[i][j]+=dp[num[c[i]-n]-1][j-s[c[i]-n]]; dp[i][j]%=MOD; } } cout<