#include using namespace std; typedef long long int64; const int MOD = 1e9 + 7; int64 pow_mod(__int128 x, __int128 n, int mod = MOD) { __int128 ret = 1LL; while(n > 0) { if(n & 1) (ret *= x) %= mod; (x *= x) %= mod; n >>= 1; } return ret; } int main() { long long A, B, C; scanf("%lld^%lld^%lld", &A, &B, &C); printf("%lld %lld\n", pow_mod(pow_mod(A, B), C), pow_mod(A, pow_mod(B, C, MOD - 1))); }