""" 出ない期待値 """ def inv(x): return pow(x,mod-2,mod) N,K = map(int,input().split()) mod = 10**9+7 one = 1 - pow(N-1,K,mod) * inv(pow(N,K,mod)) print ((one * N * pow(N,K,mod)) % mod)