#include <iostream>
#define int long long
using namespace std;

int powmod(int a, int n, int mod) {
	if (n == 0) return 1;
	if (n % 2 == 0) return powmod((a * a) % mod, n / 2, mod);
	return a * powmod(a, n - 1, mod) % mod;
}

signed main() {
	int mod = 1000000007;
	int a, b, c, k;
	cin >> a >> b >> c >> k;
	
	int x = powmod(2, k, mod - 1);
	cout << powmod(a, x, mod) * powmod(b, x, mod) % mod * powmod(c, x, mod) % mod << endl;
	
	return 0;
}