#include <bits/stdc++.h>
using namespace std;
typedef long long int ll;
const ll mod = 1e9+7;
ll pow(ll a,ll b, ll m){
ll ans=1;
while(b){
if(b&1)
ans=(ans*a)%m;
b /= 2;
a = (a*a)%m;
}
return ans;
}
int main()
{
int t;
ll n,m,ans1,ans2;
cin >> t;
while(t--){
cin >> n >> m;
ans1 = pow(m,n,mod);
n = n-2;
ans2 = ((n%mod)*(m%mod))%mod;
cout << ans1 - ans2 << "\n";
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnR5cGVkZWYgbG9uZyBsb25nIGludCBsbDsKY29uc3QgbGwgbW9kID0gMWU5Kzc7CgpsbCBwb3cobGwgYSxsbCBiLCBsbCBtKXsKCWxsIGFucz0xOwoJd2hpbGUoYil7CgkJaWYoYiYxKQoJCQlhbnM9KGFucyphKSVtOwoJCWIgLz0gMjsKCQlhID0gKGEqYSklbTsKCX0KCXJldHVybiBhbnM7Cn0KaW50IG1haW4oKSAKewoJaW50IHQ7CglsbCBuLG0sYW5zMSxhbnMyOwoJY2luID4+IHQ7Cgl3aGlsZSh0LS0pewoJCWNpbiA+PiBuID4+IG07CgkJYW5zMSA9IHBvdyhtLG4sbW9kKTsKCQluID0gbi0yOwoJCWFuczIgPSAoKG4lbW9kKSoobSVtb2QpKSVtb2Q7CgkJY291dCA8PCBhbnMxIC0gYW5zMiA8PCAiXG4iOwoJfQp9