카드 뒤집기 2

시간 제한2초메모리 제한1024 MB

문제

카드 뒤집기 1, 2는 서로 다른 문제다.

준원이는 카드 $N$장을 가지고 있다. 각 카드의 양면에는 $1$이상 $N$이하의 정수가 적혀 있다. 준원이는 $N$장의 카드를 나열했다. 나열된 카드에서 천장을 향하는 면에 적힌 정수는 $a_1,a_2,\cdots ,a_N$이고, 바닥을 향하는 면에 적힌 정수는 $b_1,b_2,\cdots ,b_N$이다.

준원이는 $i$를 $1$부터 $N$까지 $1$씩 증가시키며 다음과 같은 행동을 반복한다.

  • $i$번째 카드와 $j(i<j\le N)$번째 카드를 비교한다. $i,j$번째 카드의 천장을 향하는 면에 적힌 정수를 $X,Y$라고 할 때, $X>Y$를 만족하는 모든 $j$번째 카드를 뒤집는다.

모든 행동을 끝낸 후, 각 카드의 천장을 향하는 면에 적힌 정수를 구해보자.

입력

첫째 줄에 정수 $N(2\le N\le 200\, 000)$이 주어진다.

둘째 줄에 정수 $a_1,a_2,\cdots ,a_N(1\le a_i\le N)$이 공백으로 구분되어 주어진다.

셋째 줄에 정수 $b_1,b_2,\cdots ,b_N(1\le b_i\le N)$이 공백으로 구분되어 주어진다.

출력

모든 행동을 끝낸 후, 각 카드의 천장을 향하는 면에 적힌 정수를 공백으로 구분하여 출력한다.