MOD = 10**9 + 7 P, K = map(int, input().split()) dp0 = 1 # initially at 0 dpnz = 0 for _ in range(K): new_dp0 = (( (P + 1) * dp0 ) % MOD + (2 * dpnz) % MOD) % MOD new_dpnz = (( (P - 1) * dp0 ) % MOD + ( (2 * (P - 1) % MOD ) * dpnz ) % MOD) % MOD dp0, dpnz = new_dp0, new_dpnz print(dp0 % MOD)