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)