#include <bits/stdc++.h>
using namespace std;
void executeTime() {
cerr << "Time Taken: " << (float)clock() / CLOCKS_PER_SEC << " secs";
}
int main() {
int n, k1, k2; cin >> n >> k1 >> k2;
vector<int> v(n);
for (auto &x : v) {
cin >> x;
}
int ans = 0;
for (int j = 1; j <= n - 3; j++) {
int op1 = 0;
int i = 0;
while (i < j) {
if (v[i] + v[j] > k1) {
op1++;
}
i++;
}
int op2 = 0;
int k = j + 1, l = n - 1;
while (k < l) {
if (v[k] + v[l] > k2) {
op2 += (l - k); l--;
}
else k++;
}
ans += op1 * op2;
}
cout << ans << endl;
executeTime();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2b2lkIGV4ZWN1dGVUaW1lKCkgewogICAgY2VyciA8PCAiVGltZSBUYWtlbjogIiA8PCAoZmxvYXQpY2xvY2soKSAvIENMT0NLU19QRVJfU0VDIDw8ICIgc2VjcyI7Cn0KCmludCBtYWluKCkgewoKICAgIGludCBuLCBrMSwgazI7IGNpbiA+PiBuID4+IGsxID4+IGsyOwoKICAgIHZlY3RvcjxpbnQ+IHYobik7CiAgICBmb3IgKGF1dG8gJnggOiB2KSB7CiAgICAgICAgY2luID4+IHg7CiAgICB9CgogICAgaW50IGFucyA9IDA7CiAgICBmb3IgKGludCBqID0gMTsgaiA8PSBuIC0gMzsgaisrKSB7CgogICAgICAgIGludCBvcDEgPSAwOwogICAgICAgIGludCBpID0gMDsKCiAgICAgICAgd2hpbGUgKGkgPCBqKSB7CiAgICAgICAgICAgIGlmICh2W2ldICsgdltqXSA+IGsxKSB7CiAgICAgICAgICAgICAgICBvcDErKzsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaSsrOwogICAgICAgIH0KCiAgICAgICAgaW50IG9wMiA9IDA7CiAgICAgICAgaW50IGsgPSBqICsgMSwgbCA9IG4gLSAxOwoKICAgICAgICB3aGlsZSAoayA8IGwpIHsKICAgICAgICAgICAgaWYgKHZba10gKyB2W2xdID4gazIpIHsKICAgICAgICAgICAgICAgIG9wMiArPSAobCAtIGspOyBsLS07CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSBrKys7CiAgICAgICAgfQoKICAgICAgICBhbnMgKz0gb3AxICogb3AyOwogICAgfQoKICAgIGNvdXQgPDwgYW5zIDw8ICBlbmRsOwogICAgZXhlY3V0ZVRpbWUoKTsKICAgIHJldHVybiAwOwp9