# 곱셈
# https://www.acmicpc.net/problem/1629 (구현)
# 거듭제곱
def cpow(a, b, mod):
# a의 11승
# 11 = 1011 (2진수)
# a ** 11 = a ** (1+2+0+8) = (a) * (a**2) * (a**8)
ret = 1
while b:
b, r = divmod(b, 2)
if r != 0:
ret = ret * a % mod
a = a * a % mod
return ret
a, b, mod = map(int, input().split())
ans = cpow(a, b, mod)
print(ans)
'BOJ 알고리즘 (T아카데미)' 카테고리의 다른 글
11866번: 요세푸스 문제 0 (구현, 큐) - Tacademy (0) | 2020.10.01 |
---|---|
9012번: 괄호 (구현, 스택) - Tacademy (0) | 2020.10.01 |
11729번: 하노이탑 (구현, 재귀) - Tacademy (0) | 2020.10.01 |
2484번: 주사위 네개 (구현) - Tacademy (0) | 2020.09.29 |
1748번: 수 이어쓰기 1 (구현) - Tacademy (0) | 2020.09.28 |