FLT - Unique Sequence


Given a series defined by:

F(n) = (F(n - 1) + F(n - 1) + F(n - 1) ... + pth time) % 1000000007 (109+7).

where p is any prime number between (1-100). Now you are provided n and nth term of the sequence. Find the first term of the given series.

Input

Input contains only three integers n, nth term and p separated by spaces.

Here n will be between 1 to 1000000000 inclusive.

and each term ranges between 0 to 1000000006 inclusive.

Output

Output a single integer that is first term of the sequence.

Example

Input: 
5 32 2

Output: 
2

hide comments
flower: 2025-02-15 10:12:50

Excellent number theory problem. Requires the concepts of fast modular exponentiation and modular multiplicative inverse.


Added by:ps_19
Date:2020-11-14
Time limit:1s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All
Resource:None