만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

여행

면접 대비

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

요약
1번부터 54번까지 좌석에서 원하는 좌석만 사도록 구간 예매 요청의 최소 개수를 구합니다.
난이도

보통10점 중 4점

유형
그리디, 구현
정답자
아직 제출이 없습니다

문제

리다는 북쪽 도시 상트페테르부르크에서 심심함을 느꼈다. 그녀는 친구들과 함께 여행을 가기로 하고 기차역으로 갔다. 역에는 다음과 같은 표 구매 시스템이 있었다. 요청 한 번으로 kk부터 rr까지(1≤k≤r≤541 \le k \le r \le 54, 양 끝 포함) 구간의 모든 빈 좌석이 예약되며, 그 구간에서 이미 찬 좌석은 무시된다. 리다는 많이 서두르고 있어서 표 구매 요청 횟수를 최소로 하고 싶다. 친구 각자가 앉고 싶은 좌석 번호는 알고 있으므로, 그 좌석의 표만 산다.

이미 찬 좌석 목록과 리다에게 필요한 좌석 목록이 주어질 때, 표를 사는 데 필요한 최소 요청 횟수를 구하라.

입력

첫 줄에 두 정수 nn (0≤n≤540 \le n \le 54)과 ll (0≤l≤540 \le l \le 54)이 주어진다. nn은 이미 찬 좌석 수이고, ll은 함께 여행을 떠나는 사람 수이다.

둘째 줄에는 서로 다른 nn개의 수 aia_i (1≤ai≤541 \le a_i \le 54)가 주어진다. 이는 이미 찬 좌석 번호이다.

셋째 줄에는 서로 다른 ll개의 수 bib_i (1≤bi≤541 \le b_i \le 54)가 주어진다. 이는 리다와 친구들이 앉고 싶은 좌석 번호이다.

출력

첫 줄에 요청 횟수 pp를 출력한다. 이어서 pp줄에 걸쳐 각 요청의 왼쪽 경계와 오른쪽 경계를 한 쌍의 수로 출력한다.

리다와 친구들이 원하는 대로 표를 살 수 없다면 −1-1을 출력한다.

예제1

  1. 예제 1

    입력
    2 3
    2 5
    1 3 7
    
    예상 출력
    2
    1 3
    7 7