package main import . "fmt" import . "os" import bf "bufio" import . "sort" func main() { rd := bf.NewReader(Stdin) var n int Fscan(rd, &n) xs := make([]int, n) for i := range xs { Fscan(rd, &xs[i]) } Ints(xs) ys := make([]int, n) for i := range ys { Fscan(rd, &ys[i]) } Ints(ys) for len(xs)+len(ys) > n { if xs[0] < ys[0] { xs = xs[1:] } else { ys = ys[1:] } } const Mod = 998244353 ans := 1 for i := 1; i <= len(xs); i++ { ans = (ans * i) % Mod } for i := 1; i<= len(ys); i++ { ans = (ans * i) % Mod } Println(ans) }