https://www.acmicpc.net/problem/1629

#include <stdio.h>
int func(int a, int b, int c) { // 시간을 줄이기 위해 나누면서
if (b > 1) { 함
long long ap= func(a, b / 2, c);
if (b % 2) return ((ap ap) % c a) % c;
else return (ap * ap) % c;
}
else return a;
}
int main() {
int a, b, c;
scanf("%d %d %d", &a, &b, &c);
int ap = func(a % c, b, c);
printf("%d\n", ap);
return 0;
}