#include <bits/stdc++.h> // Энэ нь маш олон санг багцалсан сан болно.
// stdio, math, vector, string ...
using namespace std;
long long mod;
long long solve(long long x, long long y) {
if(y == 0) return 1;
if(y == 1) return x%mod;
long long ret = solve(x, y/2);
ret = (ret*ret)%mod;
if( y%2 ) ret = (ret*x)%mod;
return ret;
}
int main() {
string x, y;
cin >> x >> y >> mod; //3 тоогоо уншлаа
long long a = 0, b = 0, now = 1;
// a-д a%mod хадгална
// b-д b%mod-1 хадгална
// now нь 10 зэргийг mod-д модулдсан тоо бөгөөд
// анх 10^0 = 1 байна
for(int i = x.size()-1; i >= 0; i--) {
a = (a + (x[i] - '0')*now)%mod;
now = (now*10)%mod;
}
now = 1;
for(int i = y.size()-1; i >= 0; i--) {
b = (b + (y[i] - '0')*now)%(mod-1);
now = (now*10)%(mod-1);
}
cout << solve(a, b) << endl;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+IAkvLyDQrdC90Y0g0L3RjCDQvNCw0Ygg0L7Qu9C+0L0g0YHQsNC90LMg0LHQsNCz0YbQsNC70YHQsNC9INGB0LDQvSDQsdC+0LvQvdC+LgoJCQkJCQkJLy8gc3RkaW8sIG1hdGgsIHZlY3Rvciwgc3RyaW5nIC4uLgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoJCglsb25nIGxvbmcgbW9kOwoKbG9uZyBsb25nIHNvbHZlKGxvbmcgbG9uZyB4LCBsb25nIGxvbmcgeSkgewoJaWYoeSA9PSAwKSByZXR1cm4gMTsKCWlmKHkgPT0gMSkgcmV0dXJuIHglbW9kOwoJbG9uZyBsb25nIHJldCA9IHNvbHZlKHgsIHkvMik7CglyZXQgPSAocmV0KnJldCklbW9kOwoJaWYoIHklMiApIHJldCA9IChyZXQqeCklbW9kOwoJcmV0dXJuIHJldDsKfQoKaW50IG1haW4oKSB7CglzdHJpbmcgeCwgeTsgCgljaW4gPj4geCA+PiB5ID4+IG1vZDsJLy8zINGC0L7QvtCz0L7QviDRg9C90YjQu9Cw0LAKCglsb25nIGxvbmcgYSA9IDAsIGIgPSAwLCBub3cgPSAxOwoJLy8gYS3QtCBhJW1vZCDRhdCw0LTQs9Cw0LvQvdCwCgkvLyBiLdC0IGIlbW9kLTEg0YXQsNC00LPQsNC70L3QsAoJLy8gbm93INC90YwgMTAg0LfRjdGA0LPQuNC50LMgbW9kLdC0INC80L7QtNGD0LvQtNGB0LDQvSDRgtC+0L4g0LHTqdCz06nTqdC0IAoJLy8g0LDQvdGFIDEwXjAgPSAxINCx0LDQudC90LAKCglmb3IoaW50IGkgPSB4LnNpemUoKS0xOyBpID49IDA7IGktLSkgewoJCWEgPSAoYSArICh4W2ldIC0gJzAnKSpub3cpJW1vZDsKCQlub3cgPSAobm93KjEwKSVtb2Q7Cgl9CgkKCW5vdyA9IDE7Cglmb3IoaW50IGkgPSB5LnNpemUoKS0xOyBpID49IDA7IGktLSkgewoJCWIgPSAoYiArICh5W2ldIC0gJzAnKSpub3cpJShtb2QtMSk7CgkJbm93ID0gKG5vdyoxMCklKG1vZC0xKTsKCX0KCQoJY291dCA8PCBzb2x2ZShhLCBiKSA8PCBlbmRsOwoJcmV0dXJuIDA7Cn0=