#include<iostream>
using namespace std;
#include<string>
#include<cmath>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<vector>
#define minx 1e18;
#define maxx 0;
typedef long long ll;
ll fpow(ll a,ll b,ll k)
{
ll ans=1%k;
ll base=a%k;
while(b)
{
if(b&1)
{
ans=(ans*base)%k;
}
base=(base*base)%k;
b>>=1;
}
return ans;
}
int main()
{
ll a,b,k;
cin>>a>>b>>k;
cout<<fpow(a,b,k)<<endl;
return 0;
}