#3859. Periodic Binary String

内存限制:64 MiB 时间限制:4 Sec


Teacher Mai has an infinite periodic binary string S with index counting from 0. That means S=TTTT..., where T is the period of string S. For example, T="101", then S="101101101101..."
S[l,r] is the sub-string of S. We define f[l,r] is the value when regarding S[l,r] as a binary number.
Please count the number of binary strings T with length k, where T is the period of string S, satisfying the condition: f[l,r]=x (mod p).
The number can be very large, just output the number modulo 1000000007 (10^9+7).


There are multiple test cases, terminated by a line "0 0 0 0 0".
For each test case, there is a line contains five numbers p (2<p<10^18, p is a prime number) ,x (0<=x<p), l, r (0<=l<=r<=10^18) and k (1<=k<=10^18).


For each test case, output one line "Case #k: ans", where k is the case number counting from 1, ans is the number module 10^9+7.



3 0 1 2 1
233 23 2333 23333 23
233 1 1 2 23
0 0 0 0 0


Case #1: 2
Case #2: 36003
Case #3: 2097152