import sys import math def euler_phi(n): if n == 0: return 0 result = n i = 2 while i * i <= n: if n % i == 0: while n % i == 0: n //= i result -= result // i i += 1 if n > 1: result -= result // n return result def compute(A, N, M): if M == 1: return 0 if N == 0: return 1 % M if N == 1: return A % M phi_m = euler_phi(M) exponent = compute(A, N-1, phi_m) d = math.gcd(A, M) if d == 1: return pow(A, exponent, M) else: return pow(A, exponent + phi_m, M) A, N, M = map(int, sys.stdin.readline().split()) print(compute(A, N, M))