P, K = map(int, input().split()) MOD = 10 ** 9 + 7 dp0, dpn = 1, 0 for i in range(K): dp0, dpn = (dp0 * (P + 1) + dpn * 2) % MOD, \ (dp0 * (P - 1) + dpn * (2 * P - 2)) % MOD print(dp0)