p, k = map(int, input().split())
mod = 10**9+7

dp = [[0]*2 for _ in range(k+1)]
dp[0][0] = 1
dp[0][1] = 0

for i in range(k):
    dp[i+1][0] = (p+1)*dp[i][0]+2*dp[i][1]
    dp[i+1][1] = (p-1)*dp[i][0]+2*(p-1)*dp[i][1]
    dp[i+1][0] %= mod
    dp[i+1][1] %= mod
#print(dp)
print(dp[k][0]%mod)