No Division Allowed

Time limit: 0.5s Memory limit: 64MB Input: Output:

In order to stop the division among the fighters, the government of Eniarku decided to test the mathematical skills of the soldiers, while also boosting their morale in the fight against the invaders.

Given three integers a,ba, b and xx, find the number of integers in the range [a,b][a, b] such that they are not multiple of any of the integers in the range [2,x][2, x]. Since the answer can be really big, you need to print the remainder of the answer modulo 109+710^9 + 7.

Since this is an easy challenge for the leader of Eniarku, he wants to see if you are up to the challenge.

Input

The first line of the input contains three integers, aa, bb and xx (1ab10100 0001 ≤ a ≤ b ≤ 10^{100 \ 000}), (2x202 ≤ x ≤ 20).

For tests worth 1010 points, (1b106)(1 ≤ b ≤ 10^6).

For tests worth 1010 more points, (1b1018)(1 ≤ b ≤ 10^{18}).

For tests worth 2020 more points, (2x5)(2 ≤ x ≤ 5).

For tests worth 3030 more points, (2x10)(2 ≤ x ≤ 10).

Output

The output will contain the answer, modulo 109+710^9 + 7.

Examples

stdin

1 14 5

stdout

4

stdin

392692 6382655 20

stdout

1024429

Explanation

For the first sample, the numbers which are not divisible by either 2,3,42, 3, 4 or 55 are 1,7,111, 7, 11 and 1313.

Log in or sign up to be able to send submissions!