#include <bits/stdc++.h> using namespace std; typedef long long ll; const int INF = 0x3f3f3f3f; const int MAXN = 5e5 + 100; const int MAXM = 3e3 + 10; template < typename T > inline void read(T &x) { x = 0; T ff = 1, ch = getchar(); while(!isdigit(ch)) { if(ch == '-') ff = -1; ch = getchar(); } while(isdigit(ch)) { x = (x << 1) + (x << 3) + (ch ^ 48); ch = getchar(); } x *= ff; } template < typename T > inline void write(T x) { if(x < 0) putchar('-'), x = -x; if(x > 9) write(x / 10); putchar(x % 10 + '0'); } ll a, b, p; int power(int a, int b, int p) { int ans = 1 % p; while(b) { if(b & 1) ans = (ll) ans * a % p; a = (ll) a * a % p; b >>= 1; } return ans; } ll mul(ll a, ll b, ll p) { ll ans = 0; while(b) { if(b & 1) ans = (ans + a) % p; a = a * 2 % p; b >>= 1; } return ans; } int main() { read(a); read(b); read(p); write(power(a, b, p)); write(mul(a, b, p)); return 0; }