#include<iostream> #include<cstdio> #include<string.h> using namespace std; __int64 pow_mod1(__int64 a,__int64 n,__int64 m) { if(n==0) return 1; __int64 ans,x=pow_mod1(a,n/2,m); ans=(x*x)%m; if(n%2) ans=(ans*a)%m; return ans; } __int64 pow_mod2(__int64 a, __int64 b, __int64 c) { __int64 ans = 1; a = a % c; while(b>0) { if(b%2==1) ans = (ans * a) % c; b = b/2; a = (a * a) % c; } return ans; } int main() { __int64 a,n,m; while(scanf("%I64d%I64d%I64d",&a,&n,&m)==3) { a=a%m; printf("%I64d ",pow_mod1(a,n,m)); printf("%I64d ",pow_mod2(a,n,m)); } return 0; }