#include<iostream>
using namespace std;
int main()
{
int a,b,c;
long long ret = 1;
while(cin>>a>>b>>c)
{
a %= c;//注意取模的运算法则
while(b > 0)
{
if(b & 1)//如果二进制中最后一位是一的话那就乘进结果
{
ret *= a;
}
a = a * a % c;//不管是不是一都得相称,类似分治的想法
b >>= 1;//然后右移
ret %= c;//注意取膜
}
cout<<ret<<endl;
ret = 1;
}
return 0;
}