#include #include using namespace std; using namespace atcoder; using mint = modint1000000007; const mint INV2 = ((mint)2).inv(); const mint INV6 = ((mint)6).inv(); int main(){ int t; cin >> t; for(int i = 0; i < t; ++i){ int n, m; cin >> n >> m; mint x = ((mint)n).pow(m); mint y = ((mint)n).pow(m / 2); mint ans = INV2 * x * (x + 1) - INV6 * y * (y + 1) * (2 * y + 1); cout << ans.val() << endl; } return 0; }