#include <stdio.h>
long long pow_mod(long long n, long long k, long long m);
int main(void) {
long long n, m, p;
scanf("%lld%lld%lld", &n, &m, &p);
printf("%lld\n",pow_mod(n,p,m));
return 0;
}
long long pow_mod(long long n, long long k, long long m) {
if (k == 0) {
return 1;
} else if (k % 2 == 1) {
return pow_mod(n, k - 1, m) * n % m;
} else {
long long t = pow_mod(n, k / 2, m);
return t * t % m;
}
}
./Main.c: In function ‘main’:
./Main.c:6:2: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%lld%lld%lld", &n, &m, &p);
^