#include <bits/stdc++.h>
using namespace std;
const int N = (1 << 20) + 10;
int a[N];
int n;
long long calc(int x) {
if (x == 0) return 0;
map<int, int> mp;
long long res = 0; int cnt = 0;
for (int r = 1, l = 1; r <= n; r++) {
cnt += ++mp[a[r]] == 1;
while (l < r && cnt > x)
cnt -= --mp[a[l++]] == 0;
res += r - l + 1;
}
return res;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
#ifndef ONLINE_JUDGE
freopen("test.in", "r", stdin);
freopen("test.out", "w", stdout);
#endif
int l, u;
cin >> n >> l >> u;
for (int i = 1; i <= n; i++)
cin >> a[i];
cout << calc(u) - calc(l - 1);
cerr << "Time elapsed: " << (1.0 * clock() / CLOCKS_PER_SEC) << " s.\n";
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY29uc3QgaW50IE4gPSAoMSA8PCAyMCkgKyAxMDsKaW50IGFbTl07CmludCBuOwoKbG9uZyBsb25nIGNhbGMoaW50IHgpIHsKICAgIGlmICh4ID09IDApIHJldHVybiAwOwogICAgbWFwPGludCwgaW50PiBtcDsKICAgIGxvbmcgbG9uZyByZXMgPSAwOyBpbnQgY250ID0gMDsKICAgIGZvciAoaW50IHIgPSAxLCBsID0gMTsgciA8PSBuOyByKyspIHsKICAgICAgICBjbnQgKz0gKyttcFthW3JdXSA9PSAxOwogICAgICAgIHdoaWxlIChsIDwgciAmJiBjbnQgPiB4KQogICAgICAgICAgICBjbnQgLT0gLS1tcFthW2wrK11dID09IDA7CiAgICAgICAgcmVzICs9IHIgLSBsICsgMTsKICAgIH0KICAgIHJldHVybiByZXM7Cn0KCmludCBtYWluKCkgewogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZShudWxscHRyKTsKI2lmbmRlZiBPTkxJTkVfSlVER0UKICAgIGZyZW9wZW4oInRlc3QuaW4iLCAiciIsIHN0ZGluKTsKICAgIGZyZW9wZW4oInRlc3Qub3V0IiwgInciLCBzdGRvdXQpOwojZW5kaWYKICAgIGludCBsLCB1OwogICAgY2luID4+IG4gPj4gbCA+PiB1OwogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKQogICAgICAgIGNpbiA+PiBhW2ldOwogICAgY291dCA8PCBjYWxjKHUpIC0gY2FsYyhsIC0gMSk7CiAgICBjZXJyIDw8ICJUaW1lIGVsYXBzZWQ6ICIgPDwgKDEuMCAqIGNsb2NrKCkgLyBDTE9DS1NfUEVSX1NFQykgPDwgIiBzLlxuIjsKICAgIHJldHVybiAwOwp9