A string made of only 0s and 1s is called a binary string. A boy became interested in binary strings that never place two 1s side by side. At first he counted how many such strings there are for a fixed length.
After solving that, he added more conditions. He now wants the number of binary strings that satisfy all three of the following.
- The length of the string is between L and R, inclusive (1≤L≤R≤1018).
- The length of the string is a multiple of an integer K (3≤K≤109).
- No two 1s appear consecutively in the string.
The count can be very large, so print it modulo 1,000,000,007.