#include <bits/stdc++.h> // NeOWami
using namespace std;
#define ft first
#define sc second
using ll = long long;
const int N = 3e5 + 5;
int n, l, r, sz[N], h[N];
bool del[N];
vector<int> G[N], ADD;
ll ans = 0, bit[N];
int vers = 0, vis[N];
inline void dfs(int u, int pre) {
sz[u] = 1;
for (int v: G[u]) if (v != pre && !del[v]) {
dfs(v, u);
sz[u] += sz[v];
}
}
inline int centroid(int u, int pre, int n) {
for (int v: G[u]) if (v != pre && !del[v]) {
if (sz[v] * 2 > n) return centroid(v, u, n);
}
return u;
}
inline void update(int id, ll t) {
for (; id <= n; id += id &- id) {
if (vis[id] != vers) {
vis[id] = vers;
bit[id] = 0;
}
bit[id] += t;
}
}
inline ll get(int id) {
if (id == 0) return 1;
ll ans = 1;
for (; id; id -= id &- id) {
if (vis[id] != vers) {
vis[id] = vers;
bit[id] = 0;
}
ans += bit[id];
}
return ans;
}
inline void calc(int u, int pre) {
h[u] = h[pre] + 1;
if (h[u] > r) return;
ans += get(r - h[u]);
if (l >= h[u]) ans -= get(l - h[u]);
ADD.push_back(h[u]);
for (int v: G[u]) if (v != pre && !del[v]) calc(v, u);
}
inline void build(int u) {
dfs(u, 0);
int n = sz[u];
u = centroid(u, u, n);
vers++;
h[u] = 0;
for (int v: G[u]) if (!del[v]) {
calc(v, u);
for (int i: ADD) update(i, 1);
ADD.clear();
}
del[u] = true;
for (int v: G[u]) if (!del[v]) {
build(v);
}
}
signed main() {
cin.tie(NULL)->sync_with_stdio(false);
if(ifstream("Input.inp")) {
freopen("Input.inp", "r", stdin);
freopen("Output.out", "w", stdout);
}
cin >> n >> l >> r;
l--;
for (int i = 1; i < n; i++) {
int u, v; cin >> u >> v;
G[u].push_back(v);
G[v].push_back(u);
}
build(1);
cout << ans;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+IC8vIE5lT1dhbWkKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCiNkZWZpbmUgZnQgZmlyc3QKI2RlZmluZSBzYyBzZWNvbmQKdXNpbmcgbGwgPSBsb25nIGxvbmc7CmNvbnN0IGludCBOID0gM2U1ICsgNTsKaW50IG4sIGwsIHIsIHN6W05dLCBoW05dOwpib29sIGRlbFtOXTsKdmVjdG9yPGludD4gR1tOXSwgQUREOwpsbCBhbnMgPSAwLCBiaXRbTl07CmludCB2ZXJzID0gMCwgdmlzW05dOwoKaW5saW5lIHZvaWQgZGZzKGludCB1LCBpbnQgcHJlKSB7CiAgICBzelt1XSA9IDE7CiAgICBmb3IgKGludCB2OiBHW3VdKSBpZiAodiAhPSBwcmUgJiYgIWRlbFt2XSkgewogICAgICAgIGRmcyh2LCB1KTsKICAgICAgICBzelt1XSArPSBzelt2XTsKICAgIH0KfQoKaW5saW5lIGludCBjZW50cm9pZChpbnQgdSwgaW50IHByZSwgaW50IG4pIHsKICAgIGZvciAoaW50IHY6IEdbdV0pIGlmICh2ICE9IHByZSAmJiAhZGVsW3ZdKSB7CiAgICAgICAgaWYgKHN6W3ZdICogMiA+IG4pIHJldHVybiBjZW50cm9pZCh2LCB1LCBuKTsKICAgIH0KICAgIHJldHVybiB1Owp9CmlubGluZSB2b2lkIHVwZGF0ZShpbnQgaWQsIGxsIHQpIHsKICAgIGZvciAoOyBpZCA8PSBuOyBpZCArPSBpZCAmLSBpZCkgewogICAgICAgIGlmICh2aXNbaWRdICE9IHZlcnMpIHsKICAgICAgICAgICAgdmlzW2lkXSA9IHZlcnM7CiAgICAgICAgICAgIGJpdFtpZF0gPSAwOwogICAgICAgIH0KICAgICAgICBiaXRbaWRdICs9IHQ7CiAgICB9Cn0KCmlubGluZSBsbCBnZXQoaW50IGlkKSB7CiAgICBpZiAoaWQgPT0gMCkgcmV0dXJuIDE7CiAgICBsbCBhbnMgPSAxOwogICAgZm9yICg7IGlkOyBpZCAtPSBpZCAmLSBpZCkgewogICAgICAgIGlmICh2aXNbaWRdICE9IHZlcnMpIHsKICAgICAgICAgICAgdmlzW2lkXSA9IHZlcnM7CiAgICAgICAgICAgIGJpdFtpZF0gPSAwOwogICAgICAgIH0KICAgICAgICBhbnMgKz0gYml0W2lkXTsKICAgIH0KICAgIHJldHVybiBhbnM7Cn0KCmlubGluZSB2b2lkIGNhbGMoaW50IHUsIGludCBwcmUpIHsKICAgIGhbdV0gPSBoW3ByZV0gKyAxOwogICAgaWYgKGhbdV0gPiByKSByZXR1cm47CiAgICAKICAgIGFucyArPSBnZXQociAtIGhbdV0pOwogICAgaWYgKGwgPj0gaFt1XSkgYW5zIC09IGdldChsIC0gaFt1XSk7CiAgICAKICAgIEFERC5wdXNoX2JhY2soaFt1XSk7CgogICAgZm9yIChpbnQgdjogR1t1XSkgaWYgKHYgIT0gcHJlICYmICFkZWxbdl0pIGNhbGModiwgdSk7Cn0KCmlubGluZSB2b2lkIGJ1aWxkKGludCB1KSB7CiAgICBkZnModSwgMCk7CiAgICBpbnQgbiA9IHN6W3VdOwogICAgdSA9IGNlbnRyb2lkKHUsIHUsIG4pOwoKICAgIHZlcnMrKzsKICAgIGhbdV0gPSAwOwogICAgZm9yIChpbnQgdjogR1t1XSkgaWYgKCFkZWxbdl0pICB7CiAgICAgICAgY2FsYyh2LCB1KTsKICAgICAgICBmb3IgKGludCBpOiBBREQpIHVwZGF0ZShpLCAxKTsKICAgICAgICBBREQuY2xlYXIoKTsKICAgIH0KCiAgICBkZWxbdV0gPSB0cnVlOwogICAgZm9yIChpbnQgdjogR1t1XSkgaWYgKCFkZWxbdl0pIHsKICAgICAgICBidWlsZCh2KTsKICAgIH0KfQoKc2lnbmVkIG1haW4oKSB7CiAgICBjaW4udGllKE5VTEwpLT5zeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgaWYoaWZzdHJlYW0oIklucHV0LmlucCIpKSB7CiAgICAgICAgZnJlb3BlbigiSW5wdXQuaW5wIiwgInIiLCBzdGRpbik7CiAgICAgICAgZnJlb3BlbigiT3V0cHV0Lm91dCIsICJ3Iiwgc3Rkb3V0KTsKICAgIH0KICAgIGNpbiA+PiBuID4+IGwgPj4gcjsKICAgIGwtLTsKICAgIGZvciAoaW50IGkgPSAxOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgaW50IHUsIHY7IGNpbiA+PiB1ID4+IHY7CiAgICAgICAgR1t1XS5wdXNoX2JhY2sodik7CiAgICAgICAgR1t2XS5wdXNoX2JhY2sodSk7CiAgICB9CiAgICBidWlsZCgxKTsKICAgIGNvdXQgPDwgYW5zOwogICAgcmV0dXJuIDA7Cn0=