Codeforces Round 306 (Div. 2)
B
Preparing Olympiad
Codeforces
1400
原题
← AC →
翻译中…

You have $*n*$ problems. You have estimated the difficulty of the $*i*$-th one as integer $*c*_{*i*}$. Now you want to prepare a problemset for a contest, using some of the problems you've made.

翻译中…

A problemset for the contest must consist of at least two problems. You think that the total difficulty of the problems of the contest must be at least $*l*$ and at most $*r*$. Also, you think that the difference between difficulties of the easiest and the hardest of the chosen problems must be at least $*x*$.

翻译中…

Find the number of ways to choose a problemset for the contest.

翻译中…

Input

翻译中…

The first line contains four integers $*n*$, $*l*$, $*r*$, $*x*$ ($1 ≤ *n* ≤ 15$, $1 ≤ *l* ≤ *r* ≤ 10^{9}$, $1 ≤ *x* ≤ 10^{6}$) — the number of problems you have, the minimum and maximum value of total difficulty of the problemset and the minimum difference in difficulty between the hardest problem in the pack and the easiest one, respectively.

翻译中…

The second line contains $*n*$ integers $*c*_{1}, *c*_{2}, ..., *c*_{*n*}$ ($1 ≤ *c*_{*i*} ≤ 10^{6}$) — the difficulty of each problem.

翻译中…

Output

翻译中…

Print the number of ways to choose a suitable problemset for the contest.

翻译中…

Note

翻译中…

In the first example two sets are suitable, one consisting of the second and third problem, another one consisting of all three problems.

翻译中…

In the second example, two sets of problems are suitable — the set of problems with difficulties 10 and 30 as well as the set of problems with difficulties 20 and 30.

翻译中…

In the third example any set consisting of one problem of difficulty 10 and one problem of difficulty 20 is suitable.

翻译中…

样例

Input #1
3 5 6 1
1 2 3
Output #1
2
InputCopy OutputCopy
Input #2
4 40 50 10
10 20 30 25
Output #2
2
InputCopy OutputCopy
Input #3
5 25 35 10
10 10 20 10 20
Output #3
6
InputCopy OutputCopy
题目信息
题号
550B
时间限制
2 s
内存限制
256 MB
标签
位运算
暴力

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。