1 #include <cstdio>
2 #include <iostream>
3 #include <algorithm>
4 #include <cstring>
5 using namespace std;
6 int vis[200];
7 struct Point
8 {
9 int sum;
10 int last;
11 }s[200];
12
13 int main()
14 {
15 int n,m;
16 while(~scanf("%d %d",&n,&m))
17 {
18 if(n==1&&m==0)//注意特判!!!
19 {
20 printf("1\n");
21 continue;
22 }
23 for(int i=0;i<=104;i++)
24 s[i].sum=0,s[i].last=0,vis[i]=0;
25 int x,y;
26 if(m>=n)
27 {
28 printf("0\n");
29 continue;
30 }
31 for(int i=0;i<n-1;i++)
32 {
33 scanf("%d %d",&x,&y);
34 s[y].last=x;
35 int ss=y;
36 if(!vis[y])
37 {
38 while(1)
39 {
40 if(s[ss].last!=0)
41 {
42 s[s[ss].last].sum++;
43 ss=s[ss].last;
44 }
45 else
46 break;
47 }
48 }
49 else
50 {
51 int d=s[ss].sum+1;
52 while(1)
53 {
54 if(s[ss].last!=0)
55 {
56 s[s[ss].last].sum+=d;
57 ss=s[ss].last;
58 }
59 else
60 break;
61 }
62 }
63 ss=s[ss].last;
64 while(1)
65 {
66 if(s[ss].last!=0)
67 {
68 s[s[ss].last].sum++;
69 ss=s[ss].last;
70 }
71 else
72 break;
73 }
74 vis[x]=vis[y]=1;
75 }
76 // printf("%d\n",s[1].sum);
77 int ans=0;
78 for(int i=1;i<=100;i++)
79 if(m==s[i].sum&&vis[i])
80 ans++;
81 printf("%d\n",ans);
82 }
83 }
84