행사 달력
시간 제한1초메모리 제한128 MB
N일짜리 옛 일정과 새 일정이 주어질 때, 각 목표 날짜를 제자리에 놓는 앞부분 뒤집기 요청의 크기를 순서대로 출력한다.
문제
마케팅 담당자들은 창의적이며 참석해야 하는 회의가 매우 많다. 회사의 월간 일정에는 매달 첫 일 각각에 대해 회의가 하나씩 적혀 있다. 각 회의는 음이 아닌 정수로 식별되며, 같은 식별자가 여러 날에 나타날 수도 있다.
현재 일정(이전 순서)을 미리 정해 둔 새 순서로 바꾸어야 한다. 기획 부서가 할 수 있는 유일한 조작은 요청이다. 수 를 고르면 첫 일의 회의 순서가 통째로 뒤집힌다. 예를 들어 현재 순서가 1 2 3 4 5일 때 인 요청을 하면 3 2 1 4 5가 된다.
식별자가 중복될 수 있으므로, 등장 순서로 서로 대응시킨다. 어떤 값이 이전 순서에서 왼쪽부터 번째로 등장하면, 그 회의는 새 순서에서 같은 값이 왼쪽부터 번째로 등장하는 자리로 가야 한다. 이렇게 하면 이전 일정의 각 날마다 중 하나의 목표 위치가 유일하게 정해진다.
부서는 항상 다음의 고정된 절차를 따른다. 순서로 다음을 수행한다.
- 목표 위치가 인 날이 현재 앞에서부터 번째에 있다고 하자. 이 날은 항상 첫 일 안에 있다.
- 이면 아무 요청도 하지 않는다.
- 그렇지 않으면, 일 때 먼저 요청 (첫 일 뒤집기)를 하고, 이어서 요청 (첫 일 뒤집기)를 한다.
이 절차가 발행하는 모든 요청을 순서대로 출력하라.
입력
입력에는 여러 개의 재구성이 들어 있으며, 마지막 재구성 뒤에는 하나만 있는 줄이 온다.
각 재구성은 세 줄로 이루어진다. 첫 줄은 고려하는 날 수를 나타내는 정수 ()이다. 둘째 줄은 이전 일정, 셋째 줄은 새 일정이며, 각각 공백으로 구분된 개의 회의 식별자(음이 아닌 정수)를 담는다. 두 일정은 같은 다중집합을 이루며, 일부 식별자는 여러 번 나타날 수 있다.
출력
각 재구성마다, 절차가 발행하는 요청 번호 를 공백 하나로 구분해 한 줄에 출력한다 (). 이전 일정과 새 일정이 이미 같으면 절차는 아무 요청도 하지 않으며, 빈 줄을 출력한다.