MOD = 10**9 + 7

P, K = map(int, input().split())

add1 = (P + 1) % MOD
minus1 = (P - 1) % MOD

a, b = 1, 0  # Initial state: a = 1 (N=0), b=0

for _ in range(K):
    new_a = (a * add1 + 2 * b) % MOD
    new_b = (a * minus1 + (2 * minus1 * b) % MOD) % MOD
    a, b = new_a, new_b

print(a % MOD)