#include #include using namespace std; using namespace atcoder; using mint = modint1000000007; using ll = long long; #define rep(i, l, n) for (int i = (l); i < (n); i++) int main(void) { int t; cin >> t; mint two = 2; mint rev2 = two.inv(); mint six = 6; mint rev6 = six.inv(); rep(i, 0, t) { ll n, m; cin >> n >> m; mint N = (mint)n; mint a = N.pow(m); mint b = N.pow(m / 2); mint s = rev2 * a * (a + 1); mint t = rev6 * b * (b + 1) * (b * 2 + 1); mint ans = s - t; cout << ans.val() << endl; } return 0; }