#include <bits/stdc++.h>
using namespace std;
int n, l, r, x, ans = 0;
void dfs(int v, int s, vector<int> &d, int mix, int mx) {
  if (s >= l && s <= r && mx - mix >= x && v == n) {
    ans++;
  }
  if (s > r || v == n) return;
  dfs(v + 1, s + d[v], d, min(mix, d[v]), max(mx, d[v]));
  dfs(v + 1, s, d, mix, mx);
}
int main() {
  while (cin >> n >> l >> r >> x) {
    vector<int> a;
    a.resize(n + 1);
    for (int i = 0; i < n; i++) {
      cin >> a[i];
    }
    ans = 0;
    dfs(0, 0, a, 1e9, 0);
    cout << ans << endl;
  }
}
