두 순열 (Easy)

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

요약
두 순열이 주어질 때, 각각 원하는 위치를 기준으로 좌우를 교환하는 시행을 반복해 두 순열을 모두 항등 순열로 만들 수 있는지 판별하고 10000회 이하의 시행을 출력한다.
난이도

보통10점 중 6점

유형
구현, 수학, 시뮬레이션, 그리디
정답자
아직 제출이 없습니다

문제

이 버전에서는 시행의 횟수를 최소화할 필요가 없다.

두 순열 p_1,p_2,…,p_np\_{1}, p\_{2}, \ldots, p\_{n}과 q_1,q_2,…,q_mq\_{1}, q\_{2}, \ldots, q\_{m}이 있다. 초기에 p_i=a_ip\_{i}=a\_{i}(1≤i≤n1 \le i \le n), q_j=b_jq\_{j}=b\_{j}(1≤j≤m1 \le j \le m)이다. 당신은 아래 시행을 적절하게 하여 p_i=ip\_{i}=i(1≤i≤n1 \le i \le n), q_j=jq\_{j} = j(1≤j≤m1 \le j \le m)가 되도록 해야 한다.

한 번의 시행에서, pp와 qq는 다음 세 단계에 따라 변한다:

  • 당신은 1≤i≤n1 \le i \le n, 1≤j≤m1 \le j \le m을 만족하는 두 정수 ii, jj를 선택한다.
  • pp에서 ii번째 원소를 기준으로 왼쪽 부분과 오른쪽 부분을 서로 교환한다. 즉, pp를 p_i+1,p_i+2,…,p_n,p_i,p_1,p_2,…,p_i−1p\_{i+1}, p\_{i+2}, \ldots, p\_{n}, p\_{i}, p\_{1}, p\_{2}, \ldots, p\_{i-1}로 바꾼다. 왼쪽 부분과 오른쪽 부분은 비어 있을 수도 있다. 새롭게 만들어진 pp에는 인덱스 번호가 다시 부여된다.
  • qq에서 jj번째 원소를 기준으로 왼쪽 부분과 오른쪽 부분을 서로 교환한다. 즉, qq를 q_j+1,q_j+2,…,q_n,q_j,q_1,q_2,…,q_j−1q\_{j+1}, q\_{j+2}, \ldots, q\_{n}, q\_{j}, q\_{1}, q\_{2}, \ldots, q\_{j-1}로 바꾼다. 왼쪽 부분과 오른쪽 부분은 비어 있을 수도 있다. 새롭게 만들어진 qq에는 인덱스 번호가 다시 부여된다.

목표를 달성하는 것이 가능한지 판별하고, 가능하다면 1000010000회 이하의 시행으로 목표를 달성하는 방법을 찾아라.

제한 조건 하에서 목표를 달성하는 것이 가능하다면 항상 1000010000회 이하의 시행으로 목표를 달성하는 것이 가능함을 증명할 수 있다.

입력

첫 번째 줄에 두 정수 nn과 mm이 주어진다(1≤n,m≤25001 \le n, m \le 2500).

두 번째 줄에 nn개의 정수 a_1,a_2,…,a_na\_1, a\_2, \ldots, a\_n가 공백으로 구분되어 주어진다 (1≤a_i≤n1 \le a\_i \le n).

세 번째 줄에 mm개의 정수 b_1,b_2,…,b_mb\_1, b\_2, \ldots, b\_m가 공백으로 구분되어 주어진다 (1≤b_i≤m1 \le b\_i \le m).

aa와 bb가 순열임이 보장된다.

출력

목표를 달성하는 것이 불가능하다면, 첫 줄에 −1-1을 출력한다.

목표를 달성하는 것이 가능하다면, 첫 줄에 시행의 횟수 kk를 출력한다 (0≤k≤100000 \le k \le 10000).

이후 kk개의 줄에 각 시행을 나타내는 두 정수 ii와 jj를 공백으로 구분하여 출력한다 (1≤i≤n1 \le i \le n, 1≤j≤m1 \le j \le m).

목표를 달성하는 방법이 둘 이상이라면 그 중 무엇을 출력해도 상관없다. 시행의 횟수를 최소화할 필요가 없음에 유의하라.

힌트

첫 번째 예제에서, 다음 방법으로 목표를 달성할 수 있다:

  1. 첫 번째 시행에서 i=3i=3, j=4j=4를 선택한다. 시행 후 p=\[3,2,1]p=\[3, 2, 1], q=\[3,4,5,2,1]q=\[3, 4, 5, 2, 1]이 된다.
  2. 두 번째 시행에서 i=2i=2, j=4j=4를 선택한다. 시행 후 p=\[1,2,3]p=\[1, 2, 3], q=\[1,2,3,4,5]q=\[1, 2, 3, 4, 5]가 된다.

세 번째 예제에서, 목표를 달성하는 것이 불가능함을 증명할 수 있다.

예제3

  1. 예제 1

    입력
    3 5
    2 1 3
    5 2 1 4 3
    
    예상 출력
    2
    3 4
    2 4
    
  2. 예제 2

    입력
    4 4
    3 4 2 1
    2 4 1 3
    
    예상 출력
    5
    4 2
    3 3
    1 4
    3 2
    4 1
    
  3. 예제 3

    입력
    2 2
    1 2
    2 1
    
    예상 출력
    -1