#include<iostream>
using namespace std;
int flag[100001];
int pre[100001];
int n, d, res;
void dfs(int begin,int dist) {
flag[begin] = 1;
if (dist == d) { return; }
for (int i = 1; i <= n; i++) {
if (!flag[i] && pre[i] == begin) {
dfs(i, dist + 1);
res++;
}
}
}
int main() {
cin >> n >> d;
for (int i = 1; i <= n-1; i++) {
int x, y;
cin >> x >> y;
pre[y] = x;
}
dfs(1,0);
cout << res;
}