#include<bits/stdc++.h>
using namespace std;
long long ans(vector<int>& v, int k1, int k2) {
if (v.size() < 4) return 0;
long long a = 0;
int n = v.size();
for (int j = 1; j < n - 2; j++) {
int i = 0;
long long a1 = 0;
long long a2 = 0;
while (i < j) {
if ((long long)v[i] + v[j] > k1) {
a1 += j - i;
break;
} else {
i++;
}
}
int k = j + 1;
int l = n - 1;
while (k < l) {
if ((long long)v[k] + v[l] > k2) {
a2 += l - k;
l--;
} else {
k++;
}
}
a += a1 * a2;
}
return a;
}
int main() {
int n;
if (!(cin >> n)) return 0;
vector<int> v(n);
int k1, k2;
cin >> k1 >> k2;
for (int i = 0; i < n; i++) {
cin >> v[i];
}
cout << ans(v, k1, k2) << endl;
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmxvbmcgbG9uZyBhbnModmVjdG9yPGludD4mIHYsIGludCBrMSwgaW50IGsyKSB7CiAgICBpZiAodi5zaXplKCkgPCA0KSByZXR1cm4gMDsKICAgIGxvbmcgbG9uZyBhID0gMDsgCiAgICBpbnQgbiA9IHYuc2l6ZSgpOwogICAgZm9yIChpbnQgaiA9IDE7IGogPCBuIC0gMjsgaisrKSB7CiAgICAgICAgaW50IGkgPSAwOwogICAgICAgIGxvbmcgbG9uZyBhMSA9IDA7CiAgICAgICAgbG9uZyBsb25nIGEyID0gMDsKICAgICAgICAKICAgICAgICB3aGlsZSAoaSA8IGopIHsKICAgICAgICAgICAgaWYgKChsb25nIGxvbmcpdltpXSArIHZbal0gPiBrMSkgewogICAgICAgICAgICAgICAgYTEgKz0gaiAtIGk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGkrKzsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAKICAgICAgICBpbnQgayA9IGogKyAxOwogICAgICAgIGludCBsID0gbiAtIDE7CiAgICAgICAgd2hpbGUgKGsgPCBsKSB7CiAgICAgICAgICAgIGlmICgobG9uZyBsb25nKXZba10gKyB2W2xdID4gazIpIHsKICAgICAgICAgICAgICAgIGEyICs9IGwgLSBrOwogICAgICAgICAgICAgICAgbC0tOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgaysrOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGEgKz0gYTEgKiBhMjsKICAgIH0KICAgIAogICAgcmV0dXJuIGE7Cn0KCmludCBtYWluKCkgewogICAgaW50IG47CiAgICBpZiAoIShjaW4gPj4gbikpIHJldHVybiAwOwogICAgCiAgICB2ZWN0b3I8aW50PiB2KG4pOwogICAgaW50IGsxLCBrMjsKICAgIGNpbiA+PiBrMSA+PiBrMjsKICAgIAogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgICAgICBjaW4gPj4gdltpXTsKICAgIH0KICAgIAogICAgY291dCA8PCBhbnModiwgazEsIGsyKSA8PCBlbmRsOwogICAgcmV0dXJuIDA7Cn0=