Let’s consider

*K*-based numbers, containing exactly

*N* digits. We define a number to be valid if its

*K*-based notation doesn’t contain two successive zeros. For example:

- 1010230 is a valid 7-digit number;
- 1000198 is not a valid number;
- 0001235 is not a 7-digit number, it is a 4-digit number.

Given three numbers *N*, *K* and *M*, you are to calculate an amount of valid *K* based numbers, containing *N* digits modulo *M*.

You may assume that 2 ≤ *N*, *K*, *M* ≤ 10^{18}.

### Input

The numbers *N*, *K* and *M* in decimal notation separated by the line break.

### Output

The result in decimal notation.

### Sample