#include #include using namespace std; using i32 = int; using i64 = long long; using i128 = __int128_t; using f64 = double; using p2 = pair; using p3 = tuple; using mint = atcoder::modint; constexpr i64 inf = 1e18; void _main(); int main() { cin.tie(0); ios::sync_with_stdio(false); cout << fixed << setprecision(18); _main(); } void _main() { i64 tt; cin >> tt; for (;tt--;) { i64 n, m; cin >> n >> m; mint ans = 1; ans *= mint(m).pow(n - 2); ans *= mint(m) * mint(m - 1) / 2 * mint(m); ans *= mint(n) * mint(n - 1) / 2; cout << ans.val() << "\n"; } }