Pagini recente » Cod sursa (job #2756415) | Cod sursa (job #141243) | Cod sursa (job #2366564) | Cod sursa (job #1353525) | Cod sursa (job #577834)
Cod sursa(job #577834)
#include <stdio.h>
#define Nmax 100005
#define Kmax 1000000002
#define Mod 1000000007
#define LL long long
int N,K;
int A[Nmax], Fii[Nmax];
int main(){
int i,x,y; int sol;
freopen("colorare3.in","r",stdin);
freopen("colorare3.out","w",stdout);
scanf("%d%d",&N,&K);
for(i=1;i<N;++i){
scanf("%d%d",&x,&y);
Fii[x]++; Fii[y]++;
}
sol=1;
for(i=K-Fii[1]+1; i<=K; ++i)
sol= (1LL * sol * i)%Mod;
K--;
A[0]=1;A[1]=K;
for(i=K-1;i>=K-N && i>0;--i)
A[K-i+1]=(1LL*A[K-i]*i)%Mod;
for(i=2;i<=N;++i)
sol = ( 1LL*sol*A[Fii[i]-1])%Mod;
printf("%d\n",sol);
fclose(stdin); fclose(stdout);
return 0;
}