a,b,c=map(int,input().split()) k=int(input()) mode=int(10**9+7) ans=pow(a*b*c,pow(2,k,mode-1),mode) print(ans) #pow(x,y,z) x^yをzで割った余りを返す