import java.io.* ;
import java.util.* ;
import java.math.* ;
import static java.
lang .
Math .
*; import static java.
lang .
Integer .
parseInt ; import static java.
lang .
Long .
parseLong ; import static java.
lang .
Double .
parseDouble ; import static java.
lang .
String .
*;
public class Main {
StringBuilder out = new StringBuilder( ) ;
int n,l,r,x;
n = parseInt( tk.nextToken ( ) ) ;
l = parseInt( tk.nextToken ( ) ) ;
r = parseInt( tk.nextToken ( ) ) ;
x = parseInt( tk.nextToken ( ) ) ;
int [ ] c = new int [ n] ;
for ( int i= 0 ; i< n; i++ )
c[ i] = parseInt( tk.nextToken ( ) ) ;
int ans = 0 ;
for ( int m= 0 ; m< ( 1 << n) ; m++ ) {
for ( int i= 0 ; i< n; i++ ) {
if ( ( m & ( 1 << i) ) != 0 ) {
cnt++;
sum += c[ i] ;
mn = min( mn, c[ i] ) ;
mx = max( mx, c[ i] ) ;
}
}
if ( mx- mn >= x && sum>= l && sum<= r && cnt>= 2 ) ans++;
}
}
}
CmltcG9ydCBqYXZhLmlvLio7CmltcG9ydCBqYXZhLnV0aWwuKjsKaW1wb3J0IGphdmEubWF0aC4qOwppbXBvcnQgc3RhdGljIGphdmEubGFuZy5NYXRoLio7CmltcG9ydCBzdGF0aWMgamF2YS5sYW5nLkludGVnZXIucGFyc2VJbnQ7CmltcG9ydCBzdGF0aWMgamF2YS5sYW5nLkxvbmcucGFyc2VMb25nOwppbXBvcnQgc3RhdGljIGphdmEubGFuZy5Eb3VibGUucGFyc2VEb3VibGU7CmltcG9ydCBzdGF0aWMgamF2YS5sYW5nLlN0cmluZy4qOwoKcHVibGljIGNsYXNzIE1haW4gewogICAgCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB0aHJvd3MgSU9FeGNlcHRpb24gewogICAgICAgIEJ1ZmZlcmVkUmVhZGVyIGluID0gbmV3IEJ1ZmZlcmVkUmVhZGVyKG5ldyBJbnB1dFN0cmVhbVJlYWRlcihTeXN0ZW0uaW4pKTsKICAgICAgICBTdHJpbmdCdWlsZGVyIG91dCA9IG5ldyBTdHJpbmdCdWlsZGVyKCk7CiAgICAgICAgU3RyaW5nVG9rZW5pemVyIHRrOwogICAgICAgIAogICAgICAgIGludCBuLGwscix4OwogICAgICAgIHRrID0gbmV3IFN0cmluZ1Rva2VuaXplcihpbi5yZWFkTGluZSgpKTsKICAgICAgICBuID0gcGFyc2VJbnQodGsubmV4dFRva2VuKCkpOwogICAgICAgIGwgPSBwYXJzZUludCh0ay5uZXh0VG9rZW4oKSk7CiAgICAgICAgciA9IHBhcnNlSW50KHRrLm5leHRUb2tlbigpKTsKICAgICAgICB4ID0gcGFyc2VJbnQodGsubmV4dFRva2VuKCkpOwogICAgICAgIAogICAgICAgIGludCBbXSBjID0gbmV3IGludFtuXTsKICAgICAgICB0ayA9IG5ldyBTdHJpbmdUb2tlbml6ZXIoaW4ucmVhZExpbmUoKSk7CiAgICAgICAgZm9yKGludCBpPTA7IGk8bjsgaSsrKQogICAgICAgICAgICBjW2ldID0gcGFyc2VJbnQodGsubmV4dFRva2VuKCkpOwogICAgICAgIAogICAgICAgIGludCBhbnMgPSAwOwogICAgICAgIGZvcihpbnQgbT0wOyBtPCgxPDxuKTsgbSsrKSB7CiAgICAgICAgICAgIGludCBtbiA9IEludGVnZXIuTUFYX1ZBTFVFLG14ID0gSW50ZWdlci5NSU5fVkFMVUUsY250ID0gMCxzdW0gPSAwOwogICAgICAgICAgICBmb3IoaW50IGk9MDsgaTxuOyBpKyspIHsKICAgICAgICAgICAgICAgIGlmKChtICYgKDE8PGkpKSE9MCkgewogICAgICAgICAgICAgICAgICAgIGNudCsrOwogICAgICAgICAgICAgICAgICAgIHN1bSArPSBjW2ldOwogICAgICAgICAgICAgICAgICAgIG1uID0gbWluKG1uLCBjW2ldKTsKICAgICAgICAgICAgICAgICAgICBteCA9IG1heChteCwgY1tpXSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgCiAgICAgICAgICAgIGlmKG14LW1uID49IHggJiYgc3VtPj1sICYmIHN1bTw9ciAmJiBjbnQ+PTIpIGFucysrOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oYW5zKTsKICAgICAgICAKICAgIH0KICAgIAp9