//uva374 #include <cstdio> #include <iostream> using namespace std; long long bpm(long long b, long long p, long long m) { long long i, n = b, k, r, a = 1; if(b == 0) return 0; else if(p == 0 || b == 1) return 1; else if(p == 1) return b % m; for(i = 1; b < m; i++) b *= n; k = p % i; for(r = 0; r < k; r++) a *= n; return (a * bpm(b%m, p/i, m)) % m; } int main() { long long b, p, m, i, k; while(cin >> b >> p >> m) { if(b >= m) b %= m; cout << bpm(b, p, m) << endl; } return 0; }