#include<iostream> #include<stdio.h> #include<string.h> using namespace std; int mat[200][200]; int dp[200]; int vis[200]; int n; int dfs(int x) { //printf("%d........ ",x); int i,j,k; vis[x]=1; for(i=1;i<=n;i++) { if(i==x) continue; // printf("%d %d %d ",x,i,mat[x][i]); if(mat[x][i]==1) { //printf("%d %d ",x,i); if(vis[i]==1) { dp[x]+=(1+dp[i]); } else { dp[x]+=(1+dfs(i)); } } } return dp[x]; } int main() { int k; int i,j; int f,t; while(scanf("%d%d",&n,&k)!=EOF) { memset(mat,0,sizeof(mat)); memset(dp,0,sizeof(dp)); memset(vis,0,sizeof(vis)); int m=n-1; while(m--) { scanf("%d%d",&f,&t); mat[f][t]=1; } for(i=1;i<=n;i++) { if(vis[i]==0) { dp[i]=dfs(i); } } int ans=0; for(i=1;i<=n;i++) { //printf("%d ",dp[i]); if(dp[i]==k) ans++; } //printf(" "); printf("%d ",ans); } return 0; }