#include #include #include #include #include #include #include #include #include #include using namespace std; using ll = long long; const ll modc = 1e9+7; ll mod_exp(ll b, ll e, ll m=modc){ if (e > 0 && b == 0) return 0; ll ans = 1; b %= m; while (e > 0){ if ((e & 1LL)) ans = (ans * b) % m; e = e >> 1LL; b = (b*b) % m; } return ans; } int main(){ ll N, K, ans; cin >> N >> K; ans = (modc + mod_exp(N, K) - mod_exp(N-1, K)) % modc; ans *= N; cout << ans % modc << endl; return 0; }