Флауэр дает Гелифишу две перестановки$$$^{\text{∗}}$$$ массива $$$[0, 1, \ldots, n-1]$$$: $$$p_0, p_1, \ldots, p_{n-1}$$$ и $$$q_0, q_1, \ldots, q_{n-1}$$$.
Теперь Гелифиш хочет вычислить массив $$$r_0,r_1,\ldots,r_{n-1}$$$ следующим образом:
Гелифиш очень ленива, поэтому вам нужно помочь ей вычислить элементы $$$r$$$.
Поскольку элементы $$$r$$$ могут быть очень большими, вам нужно вывести элементы $$$r$$$ по модулю $$$998\,244\,353$$$.
$$$^{\text{∗}}$$$Массив $$$b$$$ является перестановкой массива $$$a$$$, если $$$b$$$ состоит из элементов $$$a$$$ в произвольном порядке. Например, $$$[4,2,3,4]$$$ является перестановкой $$$[3,2,4,4]$$$, в то время как $$$[1,2,2]$$$ не является перестановкой $$$[1,2,3]$$$.
Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
Первая строка каждого набора входных данных содержит одно целое число $$$n$$$ ($$$1 \leq n \leq 10^5$$$).
Вторая строка каждого набора входных данных содержит $$$n$$$ целых чисел $$$p_0, p_1, \ldots,p_{n-1}$$$ ($$$0 \leq p_i \lt n$$$).
Третья строка каждого набора входных данных содержит $$$n$$$ целых чисел $$$q_0, q_1, \ldots,q_{n-1}$$$ ($$$0 \leq q_i \lt n$$$).
Гарантируется, что $$$p$$$ и $$$q$$$ являются перестановками массива $$$[0, 1, \ldots, n-1]$$$.
Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превосходит $$$10^5$$$.
Для каждого набора входных данных выведите в отдельной строке $$$n$$$ целых чисел $$$r_0, r_1, \ldots, r_{n-1}$$$, по модулю $$$998\,244\,353$$$.
330 2 11 2 050 1 2 3 44 3 2 1 0105 8 9 3 4 0 2 7 1 69 5 1 4 0 3 2 8 7 6
3 6 8 17 18 20 24 32 544 768 1024 544 528 528 516 640 516 768
В первом наборе входных данных: