#include <bits/stdc++.h>
#define all(x) (x).begin(), (x).end()
#define ll long long
using namespace std;

const ll MOD = 998244353;

ll pw(ll a, ll e, ll m) {
    ll r = 1 % m; a %= m;
    while (e > 0) {
        if (e & 1) r = r * a % m;
        a = a * a % m;
        e >>= 1;
    }
    return r;
}

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    
    int t;
    cin >> t;
    while (t--) {
        int n;
        cin >> n;
        vector<ll> a(n), b(n);
        for (int i = 0; i < n; ++i) cin >> a[i];
        for (int i = 0; i < n; ++i) cin >> b[i];
        
        if (n == 1) {
            cout << 0 << '\n';
            continue;
        }
        
        int N2 = n * n;
        vector<pair<ll,ll>> pairs(N2);
        int idx = 0;
        for (int p = 0; p < n; ++p) {
            for (int q = 0; q < n; ++q) {
                pairs[idx++] = {b[p], b[q]};
            }
        }
        
        sort(all(pairs), [](const pair<ll,ll>& x, const pair<ll,ll>& y){
            return x.second * y.first < y.second * x.first;
        });
        
        ll total = 0;
        
        for (int i = 0; i < n; ++i) {
            for (int j = i + 1; j < n; ++j) {
                ll ai = a[i], aj = a[j];
                
                int lo = 0, hi = N2;
                while (lo < hi) {
                    int mid = (lo + hi) >> 1;
                    if (pairs[mid].second * aj < pairs[mid].first * ai) lo = mid + 1;
                    else hi = mid;
                }
                
                ll cnt = lo;
                if (ai > aj) cnt -= n;
                
                total = (total + cnt) % MOD;
            }
        }
        
        ll denom = (ll)n * (n - 1) % MOD;
        ll ans = total % MOD * pw(denom, MOD - 2, MOD) % MOD;
        
        cout << ans << '\n';
    }
    
    return 0;
}
