- 처음 통과한 코드는 pow함수 활용(pow(a, b, c) 는 a ** b % c의 결과값을 return)
- 두번째는 분할 정복으로 해결(ex. 2^11 == 2^5 X 2^5 + 1, 2^10 == 2^5 X 2^5)
a, b, c = map(int, input().split())
def solution(a, b) :
# 처음 통과
# return pow(a, b, c)
if b == 1 :
return a % c
else :
calc = solution(a, b // 2)
if b % 2 == 0 :
return (calc * calc % c)
else :
return ((calc * calc * a) % c)
print(solution(a, b))