// Sakhiya07 - Yagnik Sakhiya #include using namespace std; #define ll long long int #define ld long double #define ff first #define ss second #define pb push_back #define all(x) x.begin(),x.end() #define pll pair #define mp make_pair #define bp __builtin_popcountll #define MOD 1000000007 const int N = 1000005; void solve() { ll n,p; cin >> p >> n; ll dp[n+1]; dp[0] = 1; ll crt = 1; ll pre = 0; for(ll i=1;i<=n;i++) { dp[i] = (dp[i-1] * (p+1))%MOD; dp[i] = (dp[i] + (2 * pre))%MOD; crt = (crt * 2 * p)%MOD; pre = (crt - dp[i] + MOD)%MOD; } cout<> t; while(t--) { solve(); } }