def modPow(a,n,mod):#繰り返し二乗法 a**n % mod if n==0: return 1 if n==1: return a%mod if n & 1: return (a*modPow(a,n-1,mod)) % mod t = modPow(a,n>>1,mod) return (t*t)%mod A,B,C = map(int,input().split()) mod = 10**9+7 K = int(input()) ABC = A*B*C rm = modPow(2, K, mod-1) print(modPow(ABC, rm, mod))