/** * @FileName a.cpp * @Author kanpurin * @Created 2020.06.02 13:46:50 **/ #include "bits/stdc++.h" using namespace std; typedef long long ll; //powMod ll powMod(ll k, ll n, ll mod) { ll x = 1; while (n > 0) { if (n & 1) { x = x * k % mod; } k = k * k % mod; n >>= 1; } return x; } int main() { const int MOD = 1000000007; ll a,b,c; scanf("%lld^%lld^%lld",&a,&b,&c); a %= MOD; if (a == 0) { cout << 0 << " " << 0 << endl; } cout << powMod(a,(b % (MOD - 1)) * (c % (MOD - 1)), MOD) << " "; cout << powMod(a,powMod((b % (MOD - 1)),c,MOD-1),MOD) << endl; return 0; }