#include<bits/stdc++.h>
using namespace std;
#include<atcoder/all>
using namespace atcoder;
using mint=modint1000000007;
long long p(long long n,long long r,long long m){
  if(r==0)return 1;
  if(r==1)return n%m;
  auto x=p(n,r%2,m);
  return p(n*n%m,r/2,m)*x%m;
}
long long A,B,C,K;
int main(){
  cin>>A>>B>>C>>K;
  auto t=mint(A)*B*C;
  K=p(2,K,1000000006);
  cout<<t.pow(K).val()<<endl;
}