p,k=map(int,input().split()) dp=[[0]*2 for i in range(k+1)] dp[0][0]=1 mod=10**9+7 for i in range(1,k+1): dp[i][0]=(dp[i-1][0]*(p+1)+dp[i-1][1]*2)%mod dp[i][1]=(dp[i-1][0]*(p-1)+dp[i-1][1]*(2*p-2))%mod print(dp[-1][0])