互关
门
#include <bits/stdc++.h>
using namespace std;
int n, d, ans;
bool vis[100005];
vector <int> a[100005];
void dfs(int now, int dis){
vis[now] = 1;
if (dis == d) return;
for (int i = 1; i < int(a[now].size()); i++){
if (!vis[a[now][i]]){
dfs(a[now][i], dis + 1);
ans++;
}
}
return;
}
int main(){
cin >> n >> d;
for (int i = 1; i < n; i++){
int u, v;
cin >> u >> v;
a[u].push_back(v);
a[v].push_back(u);
}
dfs(1, 0);
cout << ans;
return 0;
}