#include <bits/stdc++.h>
using namespace std;
int n, k, d[50005][505], ans;
vector<int> v[50005];
void s(int p, int b) {
  int u;
  d[p][0] = 1;
  for (int i = 0; i < v[p].size(); i++) {
    u = v[p][i];
    if (u == b) continue;
    s(u, p);
    for (int i = 0; i < k; i++) ans += d[p][i] * d[u][k - i - 1];
    for (int i = 0; i < k; i++) d[p][i + 1] += d[u][i];
  }
}
int main() {
  cin >> n >> k;
  for (int i = 0; i < n - 1; i++) {
    int x, y;
    cin >> x >> y;
    v[x].push_back(y);
    v[y].push_back(x);
  }
  s(n, 0);
  cout << ans;
}
