func_code_string: #include <bits/stdc++.h>   using namespace std;   vector<vector<long long int> > v, dp;   long long int ans, k;   void dfs(long long int u, long long int par) {     long long int i;     dp[u][0] = 1;     for (auto it : v[u]) {       if (it == par) continue;       dfs(it, u);       for (i = 1; i <= k; i++) ans += dp[it][i - 1] * dp[u][k - i];       for (i = 1; i <= k; i++) dp[u][i] += dp[it][i - 1];     }     return;   }   int main() {     ios_base::sync_with_stdio(false);     cin.tie(NULL);     long long int t = 1;     while (t--) {       long long int n, i, x, y;       cin >> n >> k;       v.resize(n + 1);       dp.resize(n + 1, vector<long long int>(k + 1));       ans = 0;       for (i = 1; i < n; i++) {         cin >> x >> y;         v[x].push_back(y);         v[y].push_back(x);       }       dfs(1, 0);       cout << ans <<   n ;     }     return 0;   }   