#include<bits/stdc++.h>
using namespace std;
int n,d,u,v,ans;
bool f[200005];
vector<int>e[200005];
void DFS_(int k,int t)
{
if(k>=d)
{
ans++;
return ;
}
int m=e[t].size();
for(int i=0;i<m;i++)
{
if(f[e[t][i]])continue;
f[e[t][i]]=1;
DFS_(k+1,e[t][i]);
f[e[t][i]]=0;
}
}
int main()
{
cin>>n>>d;
for(int i=1;i<n;i++)
{
cin>>u>>v;
e[u].push_back(v);
e[v].push_back(u);
}
DFS_(0,1);
cout<<ans;
return 0;
}