import sys from typing import List, Tuple def int1(x: str, /): return int(x) - 1 def input(): return sys.stdin.readline().rstrip('\n') def dbg(*args, **kwargs): print(*(repr(arg) for arg in args), *(f'{k}: {repr(v)}' for k, v in kwargs.items()), sep='; ', file=sys.stderr) def phi(m): a = m i = 2 while i * i <= m: if m % i == 0: a = a // i * (i - 1) while m % i == 0: m //= i i += 1 if m != 1: a = a // m * (m - 1) return a def calc(a, n, m): if n == 0 or m == 1: return 1 up = calc(a, n - 1, phi(m)) x = 1 for i in range(up): x *= a if x >= m: break else: return x return pow(a, up, m) + m def main(): a, n, m = map(int, input().split()) return calc(a, n, m) % m def _start(): ret = main() if ret is not None: if isinstance(ret, List) or isinstance(ret, Tuple): print(*ret) else: print(ret) if __name__ == '__main__': _start()