/*   @JUDGE_ID:   1705PZ   374   C */
#include <stdio.h>

long bmod(long b,long p,long m)
{
	long temp;
	b %= m;

	if(p == 0)
		return (1 % m);
	else if(p == 1)
		return b;

	if(p % 2 == 0)
	{
		temp = bmod(b,p / 2,m);
		return ((temp * temp) % m);
	}
	else
	{
		temp = bmod(b,(p - 1) / 2,m);
		return ((((temp * temp) % m) * b) % m);
	}
}

void main()
{
	long b,p,m;
	while(scanf("%ld %ld %ld",&b,&p,&m) == 3)
		printf("%ld\n",bmod(b,p,m));
}
@END_OF_SOURCE_CODE
