#include using namespace std; #include using namespace atcoder; using mint = modint998244353; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int n; cin >> n; vector X(n), Y(n); vector> XY; for (int i = 0; i < n; i++) { cin >> X[i]; XY.emplace_back(X[i], 0); } for (int i = 0; i < n; i++) { cin >> Y[i]; XY.emplace_back(Y[i], 1); } sort(XY.begin(), XY.end()); mint ans = 1; int numx = 1; int numy = 1; for (int i = 0; i < n; i++) { if (XY[i].second == 0) { ans *= numx; numx++; } else { ans *= numy; numy++; } } cout << ans.val() << endl; return 0; }