import java.io.*;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.math.BigInteger;
import java.util.*;
public class Main {
static int l=0;
static int r=0;
static int z=0;
static int n=0;
static int[] b=new int[20];
static int[] c=new int[20];
static int ans=0;
public static void main(String[] args)throws IOException {
Scanner sc = new Scanner(System.in);
n=sc.nextInt();
l=sc.nextInt();
r=sc.nextInt();
z=sc.nextInt();
for (int i=1;i<=n;i++){
b[i]=sc.nextInt();
}
dfs(0,0,0,1,1);
System.out.println(ans);
}
public static void dfs(int a,int sum,int cha,int x,int x1){
if (a>=2&&sum>=l&&sum<=r&&cha>=z){
ans++;
}
if (sum>r){
return;
}
for (int i=x;i<=n;i++){
c[x1]=b[i];
int v=c[x1];
Arrays.sort(c,1,x1+1);
dfs(a+1,sum+v,c[x1]-c[1],i+1,x1+1);
c[x1]=0;
}
}
}