Amount of Degrees

Amount of Degrees

Description

求给定区间[X,Y]中满足下列条件的整数个数:这个数恰好等于K个互不相等的B的整数次幂之和。
例如,设X=15,Y=20,K=2,B=2,有且仅有下列三个数满足题意:
17=2^4+2^0
18=2^4+2^1
20=2^4+2^2

Format

Input

第一行包含两个整数X和Y,接下来两行包含整数K和B。

Output

只包含一个整数,表示满足条件的数的个数。

Sample 1

Input

15 20
2
2

Output

3

Limitation

1s, 64MiB for each test case.

【数据规模】
1<=x<=y<=2^31-1。
1<=k<=20,2<=B<=10。

Source

Ural1057