#include #define rep(i, l, r) for (int i = (l); i < (r); i++) using namespace std; typedef long long ll; ll mod_pow(ll x, ll n, ll mod) { ll res = 1; while (n > 0) { if (n & 1) res = res * x % mod; x = x * x % mod; n >>= 1; } return res; } int main() { ll A, B, C, K, MOD = 1000000007; cin >> A >> B >> C >> K; ll P = mod_pow(2, K, MOD - 1); A = mod_pow(A % MOD, P, MOD); B = mod_pow(B % MOD, P, MOD); C = mod_pow(C % MOD, P, MOD); cout << A * B % MOD * C % MOD << endl; }