#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define MOD 1000000007 #define rep(i,m,n) for(int (i)=(int)(m);i<(int)(n);i++) #define REP(i,n) rep(i,0,n) #define ll long long int main() { ios::sync_with_stdio(false); cin.tie(0); ll p, k; cin >> p >> k; ll ans = 1, all = 1; REP(i, k) { ans = (2 * all % MOD + ans * (p - 1) % MOD) % MOD; all = all * 2 * p % MOD; } cout << ans << "\n"; return 0; }