import sys
input = lambda : sys.stdin.readline().rstrip()

sys.setrecursionlimit(2*10**5+10)
write = lambda x: sys.stdout.write(x+"\n")
debug = lambda x: sys.stderr.write(x+"\n")
writef = lambda x: print("{:.12f}".format(x))


a,b,c = list(map(int, input().split()))
k = int(input())
M = 10**9+7
val = pow(2, k, M-1)
p = a*b*c%M
ans = pow(p, val, M)
print(ans%M)