//sridhar
#include <stdio.h>
long long p;
long long power (long long a,long long b){
if (b==0)
return 1;
if (b==1)
return a%p;
if (b&1){ // if b is odd
return (a*power(a,b-1))%p;
}
// here b is even
long long k;
k = power(a,b/2);
return (k*k)%p;
}
int main (){
long long a;
long long n,k;
while (1){
scanf ("%lld%lld%lld",&n
,&k
,&p
); // (n^k)%p if (!(n || k || p)) // 0 0 0 to terminate
break;
a = power(n,k);
continue;
}
return 0;
}
Ly9zcmlkaGFyCiNpbmNsdWRlIDxzdGRpby5oPgpsb25nIGxvbmcgIHA7CmxvbmcgbG9uZyBwb3dlciAobG9uZyBsb25nIGEsbG9uZyBsb25nIGIpewoJaWYgKGI9PTApCgkJcmV0dXJuIDE7CglpZiAoYj09MSkKCQlyZXR1cm4gYSVwOwoJaWYgKGImMSl7ICAvLyBpZiBiIGlzIG9kZCAKCQlyZXR1cm4gKGEqcG93ZXIoYSxiLTEpKSVwOwoJfQoJLy8gaGVyZSBiIGlzIGV2ZW4KCWxvbmcgbG9uZyBrOwoJayA9IHBvd2VyKGEsYi8yKTsKCXJldHVybiAoayprKSVwOwp9CmludCBtYWluICgpewoJbG9uZyBsb25nIGE7Cglsb25nIGxvbmcgbixrOwoJd2hpbGUgKDEpewoJCXNjYW5mICgiJWxsZCVsbGQlbGxkIiwmbiwmaywmcCk7ICAvLyAobl5rKSVwCgkJaWYgKCEobiB8fCBrIHx8IHApKSAgLy8gMCAwIDAgdG8gdGVybWluYXRlCgkJCWJyZWFrOwoJCWEgPSBwb3dlcihuLGspOwoJCXByaW50ZiAoImFucyAlbGxkXG4iLGEpOwoJCWNvbnRpbnVlOwoJfQoJcmV0dXJuIDA7Cn0=