#include<bits/stdc++.h>
using namespace std;
const int N=1000010;
bool vis[N];
int n,d,ans;
vector <int>v[N];
void dfs(int now,int cnt){
vis[now]=1;
if(cnt==d) return;
for(int i=1;i<v[now].size();i++){
if(!vis[v[now][i]])
{
dfs(v[now][i],cnt+1);
ans++;
}
}
}
int main()
{
cin>>n>>d;
for(int i=1;i<n;i++){
int x,y;cin>>x>>y;
v[x].push_back(y);
v[y].push_back(x);
}
dfs(1,0);
cout<<ans<<endl;
return 0;
}