#include<iostream> #include<vector> #include<list> using namespace std; long long p=(long long) 1e9 + 7; long long powmod(long long a, long long n, long long mod) { return n != 0 ? powmod(a * a % mod, n / 2, mod) * (n % 2 == 1 ? a : 1) % mod : 1; } int main() { long long A, B, C, K; cin >> A >> B >> C; cin >> K; long long prd = A * B % p * C % p; cout << powmod(prd, powmod(2, K, p - 1), p) << endl; }