// yukicoder: No.403 2^2^2 // 2019.4.15 bal4u #include #include #if 0 #define gc() getchar_unlocked() #else #define gc() getchar() #endif long long in() // 非負整数の入力 { long long n = 0; int c = gc(); do n = 10 * n + (c & 0xf), c = gc(); while (isdigit(c)); return n; } #define MOD 1000000007 int bigPow(int x, long long p, int mod) { int r = 1; while (p) { if (p & 1) r = (long long)r * x % mod; x = (long long)x * x % mod; p >>= 1; } return r; } int main() { long long A, B, C, t; int ans1, ans2; A = in(), B = in(), C = in(); if (A == 1) { puts("1 1"); return 0; } A %= MOD; t = ((B % (MOD - 1))*(C % (MOD - 1))) % (MOD - 1); ans1 = bigPow((int)A, t, MOD); B %= MOD - 1; t = bigPow((int)B, C, MOD - 1); ans2 = bigPow((int)A, t, MOD); printf("%d %d\n", ans1, ans2); return 0; }