p,k = list(map(int, input().split())) dp = [[1,0]] MOD = 1000000007 for i in range(k): a = dp[-1][0]*(p+1) + dp[-1][1]*2 b = dp[-1][0]*(p-1) + dp[-1][1]*(2*p-2) a %= MOD b %= MOD dp.append([a,b]) print(dp[-1][0])