import java.util.*;
import java.lang.*;
import java.io.*;
class Codechef {
Scanner sc
= new Scanner
(System.
in);
if (!sc.hasNextInt()) return;
int n = sc.nextInt();
int k1 = sc.nextInt();
int k2 = sc.nextInt();
long[] arr = new long[n];
for (int i = 0; i < n; i++) {
arr[i] = sc.nextLong();
}
// --- PRECALCULATION: Suffix Sum of Pairs for k2 ---
// s[k] = number of valid pairs (k, l) such that k < l and arr[k]+arr[l] > k2
long[] s = new long[n];
long[] suffix = new long[n + 1];
for (int k = n - 2; k >= 0; k--) {
int start = k + 1;
int end = n - 1;
int firstL = -1;
long target = (long)k2 - arr[k];
// Binary search for smallest l > k
while (start <= end) {
int mid = start + (end - start) / 2;
if (arr[mid] > target) {
firstL = mid;
end = mid - 1;
} else {
start = mid + 1;
}
}
if (firstL != -1) {
s[k] = (n - firstL);
}
// suffix[k] stores total pairs available in range [k...n-1]
suffix[k] = s[k] + suffix[k + 1];
}
// --- MAIN LOOP: Iterate j to find pairs (i, j) ---
long count = 0;
for (int j = 1; j < n - 2; j++) {
int start = 0;
int end = j - 1;
int firstI = -1;
long target = (long)k1 - arr[j];
// Binary search for smallest i < j
while (start <= end) {
int mid = start + (end - start) / 2; // Fixed mid calculation
if (arr[mid] > target) {
firstI = mid;
end = mid - 1;
} else {
start = mid + 1;
}
}
if (firstI != -1) {
long c1 = (j - firstI);
// All pairs for k2 must start at index k >= j + 1
long c2 = suffix[j + 1];
count += c1 * c2;
}
}
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgpjbGFzcyBDb2RlY2hlZiB7CiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbiB7CiAgICAgICAgU2Nhbm5lciBzYyA9IG5ldyBTY2FubmVyKFN5c3RlbS5pbik7CiAgICAgICAgCiAgICAgICAgaWYgKCFzYy5oYXNOZXh0SW50KCkpIHJldHVybjsKICAgICAgICBpbnQgbiA9IHNjLm5leHRJbnQoKTsKICAgICAgICBpbnQgazEgPSBzYy5uZXh0SW50KCk7CiAgICAgICAgaW50IGsyID0gc2MubmV4dEludCgpOwoKICAgICAgICBsb25nW10gYXJyID0gbmV3IGxvbmdbbl07CiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgICAgICAgICAgYXJyW2ldID0gc2MubmV4dExvbmcoKTsKICAgICAgICB9CgogICAgICAgIC8vIC0tLSBQUkVDQUxDVUxBVElPTjogU3VmZml4IFN1bSBvZiBQYWlycyBmb3IgazIgLS0tCiAgICAgICAgLy8gc1trXSA9IG51bWJlciBvZiB2YWxpZCBwYWlycyAoaywgbCkgc3VjaCB0aGF0IGsgPCBsIGFuZCBhcnJba10rYXJyW2xdID4gazIKICAgICAgICBsb25nW10gcyA9IG5ldyBsb25nW25dOwogICAgICAgIGxvbmdbXSBzdWZmaXggPSBuZXcgbG9uZ1tuICsgMV07CgogICAgICAgIGZvciAoaW50IGsgPSBuIC0gMjsgayA+PSAwOyBrLS0pIHsKICAgICAgICAgICAgaW50IHN0YXJ0ID0gayArIDE7CiAgICAgICAgICAgIGludCBlbmQgPSBuIC0gMTsKICAgICAgICAgICAgaW50IGZpcnN0TCA9IC0xOwogICAgICAgICAgICBsb25nIHRhcmdldCA9IChsb25nKWsyIC0gYXJyW2tdOwoKICAgICAgICAgICAgLy8gQmluYXJ5IHNlYXJjaCBmb3Igc21hbGxlc3QgbCA+IGsKICAgICAgICAgICAgd2hpbGUgKHN0YXJ0IDw9IGVuZCkgewogICAgICAgICAgICAgICAgaW50IG1pZCA9IHN0YXJ0ICsgKGVuZCAtIHN0YXJ0KSAvIDI7CiAgICAgICAgICAgICAgICBpZiAoYXJyW21pZF0gPiB0YXJnZXQpIHsKICAgICAgICAgICAgICAgICAgICBmaXJzdEwgPSBtaWQ7CiAgICAgICAgICAgICAgICAgICAgZW5kID0gbWlkIC0gMTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgc3RhcnQgPSBtaWQgKyAxOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoZmlyc3RMICE9IC0xKSB7CiAgICAgICAgICAgICAgICBzW2tdID0gKG4gLSBmaXJzdEwpOyAKICAgICAgICAgICAgfQogICAgICAgICAgICAvLyBzdWZmaXhba10gc3RvcmVzIHRvdGFsIHBhaXJzIGF2YWlsYWJsZSBpbiByYW5nZSBbay4uLm4tMV0KICAgICAgICAgICAgc3VmZml4W2tdID0gc1trXSArIHN1ZmZpeFtrICsgMV07CiAgICAgICAgfQoKICAgICAgICAvLyAtLS0gTUFJTiBMT09QOiBJdGVyYXRlIGogdG8gZmluZCBwYWlycyAoaSwgaikgLS0tCiAgICAgICAgbG9uZyBjb3VudCA9IDA7CiAgICAgICAgZm9yIChpbnQgaiA9IDE7IGogPCBuIC0gMjsgaisrKSB7CiAgICAgICAgICAgIGludCBzdGFydCA9IDA7CiAgICAgICAgICAgIGludCBlbmQgPSBqIC0gMTsKICAgICAgICAgICAgaW50IGZpcnN0SSA9IC0xOwogICAgICAgICAgICBsb25nIHRhcmdldCA9IChsb25nKWsxIC0gYXJyW2pdOwoKICAgICAgICAgICAgLy8gQmluYXJ5IHNlYXJjaCBmb3Igc21hbGxlc3QgaSA8IGoKICAgICAgICAgICAgd2hpbGUgKHN0YXJ0IDw9IGVuZCkgewogICAgICAgICAgICAgICAgaW50IG1pZCA9IHN0YXJ0ICsgKGVuZCAtIHN0YXJ0KSAvIDI7IC8vIEZpeGVkIG1pZCBjYWxjdWxhdGlvbgogICAgICAgICAgICAgICAgaWYgKGFyclttaWRdID4gdGFyZ2V0KSB7CiAgICAgICAgICAgICAgICAgICAgZmlyc3RJID0gbWlkOwogICAgICAgICAgICAgICAgICAgIGVuZCA9IG1pZCAtIDE7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIHN0YXJ0ID0gbWlkICsgMTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKGZpcnN0SSAhPSAtMSkgewogICAgICAgICAgICAgICAgbG9uZyBjMSA9IChqIC0gZmlyc3RJKTsKICAgICAgICAgICAgICAgIC8vIEFsbCBwYWlycyBmb3IgazIgbXVzdCBzdGFydCBhdCBpbmRleCBrID49IGogKyAxCiAgICAgICAgICAgICAgICBsb25nIGMyID0gc3VmZml4W2ogKyAxXTsKICAgICAgICAgICAgICAgIGNvdW50ICs9IGMxICogYzI7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihjb3VudCk7CiAgICB9Cn0=