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