#include <stdio.h>
int main() {
int x,y,m,i,j,res,temp1,temp2,temp3,new_x,ctr;
scanf("%d %d %d",&x
,&y
,&m
);
temp1=x%m;
if(temp1 != 0)
{
for(i=1,temp2=1;i<=y;i++)
{
temp2=temp2*temp1;
}
res=temp2%m;
}
else
{
for(new_x=x,ctr=1;new_x<m;new_x=new_x*x)
{
ctr=ctr+1;
}
temp3=new_x%m;
for(j=1,temp2=1;j<=y/ctr;j++)
{
temp2=temp2*temp3;
}
res=temp2%m;
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbWFpbigpIHsKCQoJaW50IHgseSxtLGksaixyZXMsdGVtcDEsdGVtcDIsdGVtcDMsbmV3X3gsY3RyOwoJc2NhbmYoIiVkICVkICVkIiwmeCwmeSwmbSk7CgkKCXRlbXAxPXglbTsKCWlmKHRlbXAxICE9IDApCgkJewoJCQlmb3IoaT0xLHRlbXAyPTE7aTw9eTtpKyspCgkJCXsKCQkJCXRlbXAyPXRlbXAyKnRlbXAxOwoJCQl9CgkJCXJlcz10ZW1wMiVtOwoJCX0KCWVsc2UKCXsKCQlmb3IobmV3X3g9eCxjdHI9MTtuZXdfeDxtO25ld194PW5ld194KngpCgkJewoJCQljdHI9Y3RyKzE7CgkJfQoJCXRlbXAzPW5ld194JW07CgkJZm9yKGo9MSx0ZW1wMj0xO2o8PXkvY3RyO2orKykKCQkJewoJCQkJdGVtcDI9dGVtcDIqdGVtcDM7CgkJCX0KCQkJcmVzPXRlbXAyJW07Cgl9CglwcmludGYoIiVkIixyZXMpOwoJcmV0dXJuIDA7Cn0K