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)