아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Путешествие

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

요약
원하는 좌석을 모두 확보하도록 자유 좌석 구간을 최소 개수로 예약하는 방법을 찾는다.
난이도

보통10점 중 5점

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

문제

Заскучала Лида в северном городе Санкт-Петербурге. Решила она отправиться путешествовать вместе с друзьями, поехала на железнодоржный вокзал и столкнулась там со следующей системой покупки билетов: один запрос к системе бронирует все свободные места на отрезке от 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 различных чисел a_ia\_i (1≤a_i≤541 \le a\_i \le 54) --- список занятых мест. В третьей строке содержится ll различных чисел b_ib\_i (1≤b_i≤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