def main(): A, B, C = map(int, input().split()) K = int(input()) n = (10 ** 9) + 7 '''(A*B*C) ** 2K (ABC)の(10の9乗)+7-1乗を10の9乗+7で割る時の余りが1 2K を 10の9乗+7-1で割った時の余りは ''' p1 = pow(2, K, n - 1) p2 = pow(A * B * C, p1, n) print(p2) if __name__ == '__main__': main()