시간 제한메모리 제한제출정답맞힌 사람정답 비율
0.5 초 1024 MB104454244.681%

문제

素数 p と自然数 n ≥ 1 が与えられたとき,

xn + yn ≡ zn (mod p)

をみたす整数 x, y, z (0 ≤ x, y, z ≤ p − 1) の組 (x, y, z) の個数 m を求めるプログラムを作れ.こ こで,a ≡ b (mod p) とは,a − b が p で割り切れることを意味する.

입력

入力の1行目には素数 p (p < 10000) が書かれている.2 行目に は自然数 n (1 ≤ n ≤ 10000) が書かれている.

출력

標準出力に 1 つの整数 m のみからなる 1 行を出力せよ.

예제 입력 1

3
5

예제 출력 1

9

x5 + y5 ≡ z5 (mod 3) をみたす整数 x, y, z (0 ≤ x, y, z ≤ 2) の組 (x, y, z) は

(0,0,0), (0,1,1), (0,2,2), (1,0,1), (1,1,2), (1,2,0), (2,0,2), (2,1,0), (2,2,1)

の 9 個である.

예제 입력 2

19
21

예제 출력 2

487

x21 + y21 ≡ z21 (mod 19) をみたす整数 x, y, z (0 ≤ x, y, z ≤ 18) の組 (x, y, z) は 487 個ある.

노트

注意 採点に用いる入力データに対しては,m の値は 231 よりも小さい.