F - 冪冪ゲーム (Powerful Fever!) Editorial /

Time Limit: 2 sec / Memory Limit: 1024 MB

配点 : 150

問題文

MMNMMさんは屋台で賭け事をしています.
この賭け事は小さい勝負を繰り返すもので,勝ち続ける限りいくらでも続き,負けた時点で終了になります.
この賭け事には正の整数 aM が定まっています.
1回目の勝負に勝つと 1 点がもらえ, n 回目の勝負( n>1 )回目の勝負に勝つと, n-1 回目の勝負でもらった点数 x 点について, a^x 点がもらえます.
勝負に負けると 0 点がもらえます.
賭け事が終了したときの合計点数を M で割ったあまりが最終的なポイントとなり,ポイントに応じて景品がもらえます.
MMNMMさんは賭け事で合計 K 回の勝負をしました(つまり, K-1 回勝ちました).MMNMMさんの最終的なポイントを求めてください.

制約

すべてのテストケースは以下の制約を満たします.

  • 1 \leq a \leq 10^{18}
  • 1 \leq M \leq 10^9+7M は素数
  • 1 \leq K \leq 10^{18}

入力

入力は以下の形式で標準入力から与えられる.

a M K
  • 1行目には,整数 aMK がこの順に空白を区切りとして書かれている.これは,賭け事に定められている定数が aM であり,MMNMMさんが K 回勝負をしたことを表している.

出力

標準出力に,MMNMMさんが賭け事で得たポイントを1行に出力しなさい.


入力例 1

2 19 6

出力例 1

9

1 + 2 + 2^2 + 2^{2^2} + 2^{2^{2^2}} + 0 = 1 + 2 + 4 + 16 + 65536 + 0 = 65559 で, 6555919 で割ったあまりは 9 なので,MMNMMさんは9ポイントを得ることができます.


入力例 2

3 101 3

出力例 2

4

入力例 3

1333 1000000007 8691201001

出力例 3

589246632