#include #define rep(i,n) for(i=0;i<(int)(n);i++) #define MOD ((int)(1e9)+7) using namespace std; typedef long long ll; typedef unsigned long long ull; int n,k; int power(int x,int a){ if(a==0)return 1; int res=power((((long long)x%MOD)*(x%MOD))%MOD,a/2); if(a%2==1)res=((long long)res*(x%MOD))%MOD; return res; } int main(){ scanf("%d%d",&n,&k); printf("%d\n",(int)((MOD+((ll)power(n,k)*n)%MOD-((ll)n*power(n-1,k))%MOD)%MOD)); return 0; }