#include <bits/stdc++.h>
using namespace std;
int n, l, r, x;
int c[20];
int ans;
void backtrack(int i, long long total_difficult, int mn, int mx, int cnt) {
if (i == n + 1) {
if (cnt >= 2 && l <= total_difficult && total_difficult <= r && mx - mn >= x) ans++;
return;
}
// bỏ qua vấn đề thứ i
backtrack(i + 1, total_difficult, mn, mx, cnt);
// chọn vấn đề thứ i
backtrack(i + 1, total_difficult + c[i], min(mn, c[i]), max(mx, c[i]), cnt + 1);
}
int main() {
ios::sync_with_stdio(0); cin.tie(0);
cin >> n >> l >> r >> x;
for (int i = 1; i <= n; i++) cin >> c[i];
ans = 0;
backtrack(1, 0, 1e9, -1e9, 0);
cout << ans << '\n';
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7IAoKaW50IG4sIGwsIHIsIHg7ICAKaW50IGNbMjBdOyAKCmludCBhbnM7ICAKCnZvaWQgYmFja3RyYWNrKGludCBpLCBsb25nIGxvbmcgdG90YWxfZGlmZmljdWx0LCBpbnQgbW4sIGludCBteCwgaW50IGNudCkgewoJaWYgKGkgPT0gbiArIDEpIHsKCQlpZiAoY250ID49IDIgJiYgbCA8PSB0b3RhbF9kaWZmaWN1bHQgJiYgdG90YWxfZGlmZmljdWx0IDw9IHIgJiYgbXggLSBtbiA+PSB4KSBhbnMrKzsgCgkJcmV0dXJuOyAKCX0KCgkvLyBi4buPIHF1YSB24bqlbiDEkeG7gSB0aOG7qSBpIAoJYmFja3RyYWNrKGkgKyAxLCB0b3RhbF9kaWZmaWN1bHQsIG1uLCBteCwgY250KTsgCgoJLy8gY2jhu41uIHbhuqVuIMSR4buBIHRo4bupIGkgCgliYWNrdHJhY2soaSArIDEsIHRvdGFsX2RpZmZpY3VsdCArIGNbaV0sIG1pbihtbiwgY1tpXSksIG1heChteCwgY1tpXSksIGNudCArIDEpOyAKfQoKaW50IG1haW4oKSB7Cglpb3M6OnN5bmNfd2l0aF9zdGRpbygwKTsgY2luLnRpZSgwKTsgCgljaW4gPj4gbiA+PiBsID4+IHIgPj4geDsgIAoJZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKSBjaW4gPj4gY1tpXTsgCgoJYW5zID0gMDsgICAKCWJhY2t0cmFjaygxLCAwLCAxZTksIC0xZTksIDApOyAKCWNvdXQgPDwgYW5zIDw8ICdcbic7ICAKfQ==