#include<bits/stdc++.h>
using namespace std;
long long a,b,c;
long long nhan(long long a, long long b, long long c)
{
if(b==0ll) return 0ll;
long long t = nhan(a,b/2,c);
if(b%2==0)
{
return (t+t)%c;
}
else
{
return ((t+t)%c + a%c)%c;
}
}
long long mu (long long a, long long b, long long c)
{
if(b==0) return 1ll;
long long t= mu(a,b/2,c);
if(b%2==0)
{
return nhan(t,t,c);
}
else
{
return nhan(nhan(t,t,c),a,c);
}
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cin >> a >> b >> c;
cout << mu(a,b,c);
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKbG9uZyBsb25nIGEsYixjOwpsb25nIGxvbmcgbmhhbihsb25nIGxvbmcgYSwgbG9uZyBsb25nIGIsIGxvbmcgbG9uZyBjKQp7CiAgICBpZihiPT0wbGwpIHJldHVybiAwbGw7CiAgICBsb25nIGxvbmcgdCA9IG5oYW4oYSxiLzIsYyk7CiAgICBpZihiJTI9PTApCiAgICB7CiAgICAgICAgcmV0dXJuICh0K3QpJWM7CiAgICB9CiAgICBlbHNlCiAgICB7CiAgICAgICAgcmV0dXJuICgodCt0KSVjICsgYSVjKSVjOwogICAgfQp9CmxvbmcgbG9uZyBtdSAobG9uZyBsb25nIGEsIGxvbmcgbG9uZyBiLCBsb25nIGxvbmcgYykKewogICAgaWYoYj09MCkgcmV0dXJuIDFsbDsKICAgIGxvbmcgbG9uZyB0PSBtdShhLGIvMixjKTsKICAgIGlmKGIlMj09MCkKICAgIHsKICAgICAgICByZXR1cm4gbmhhbih0LHQsYyk7CiAgICB9CiAgICBlbHNlCiAgICB7CiAgICAgICAgcmV0dXJuIG5oYW4obmhhbih0LHQsYyksYSxjKTsKICAgIH0KfQppbnQgbWFpbigpCnsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAgICBjaW4udGllKDApOwogICAgY2luID4+IGEgPj4gYiA+PiBjOwogICAgY291dCA8PCBtdShhLGIsYyk7Cn0=