import math mod = 1000000007 def qpow(a, b): if b == 0: return 1 x = qpow(a, b // 2) x = (x * x) % mod if b % 2: return x * a % mod return x # T = int(input()) T = 1 for i in range(T): n, k = [int(i) for i in input().split()] tmp = (n - 1) * qpow(n, mod - 2) % mod tmp = qpow(tmp, k) ans = ((1 - tmp + mod) % mod) * n % mod; print(ans * qpow(n, k) % mod)