#include #include #include using namespace std; typedef long long LL; const LL mod=1e9+7; LL qpow(LL x,LL k,LL mod){ LL res=1; while(k){ if(k&1)res=res*x%mod; x=x*x%mod; k>>=1; } return res; } int main(){ LL a,b,c,k; cin>>a>>b>>c>>k; LL flag=0; if(k>=30)flag=mod-1; k=qpow(2,k,mod-1)+flag; LL res=qpow(a,k,mod)%mod*qpow(b,k,mod)%mod*qpow(c,k,mod)%mod; cout<