롤 케이크

시간 제한1초메모리 제한128 MB

요약
1번부터 L번까지의 조각에 대해 N명이 구간을 요청할 때, 가장 많은 조각을 기대한 사람과 앞선 요청이 우선권을 가질 때 실제로 가장 많은 조각을 받은 사람을 구한다.
난이도

쉬움10점 중 3점

유형
시뮬레이션, 배열, 구현
정답자
아직 제출이 없습니다

문제

길이가 LL미터인 롤 케이크를 방청객 NN명에게 나누어 주려고 한다.

롤 케이크는 11미터 단위로 잘려 있다. 가장 왼쪽 조각이 11번, 가장 오른쪽 조각이 LL번이다. 방청객은 11번부터 NN번까지 번호가 매겨져 있다.

각 방청객 ii는 종이에 두 정수 PiP_i와 KiK_i를 적어 낸다. 이는 PiP_i번 조각부터 KiK_i번 조각까지를 원한다는 뜻이다.

진행자는 11번 방청객의 종이부터 번호 순서대로 확인한다. 방청객 ii의 종이를 볼 때, PiP_i번부터 KiK_i번 조각 중 아직 아무에게도 배정되지 않은 조각에 ii의 번호를 적어 그 방청객에게 준다. 이미 다른 방청객의 번호가 적힌 조각은 건너뛴다. 그래서 어떤 방청객은 자신이 적어 낸 조각을 모두 받지 못할 수도 있다.

아래 그림은 조각을 나누어 주는 과정을 보여 주는 예시이다.

방청객 ii가 받을 것으로 기대한 조각 수는 자신이 적어 낸 조각의 개수, 즉 Ki−Pi+1K_i - P_i + 1이다. 가장 많은 조각을 받을 것으로 기대한 방청객의 번호와, 실제로 가장 많은 조각을 받은 방청객의 번호를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 롤 케이크의 길이 LL (1≤L≤10001 \le L \le 1000)이 주어진다.

둘째 줄에 방청객의 수 NN (1≤N≤10001 \le N \le 1000)이 주어진다.

다음 NN개의 줄 중 ii번째 줄에는 방청객 ii가 적어 낸 두 정수 PiP_i와 KiK_i가 주어진다 (1≤Pi≤Ki≤L1 \le P_i \le K_i \le L).

출력

첫째 줄에 가장 많은 조각을 받을 것으로 기대한 방청객의 번호를 출력한다.

둘째 줄에 실제로 가장 많은 조각을 받은 방청객의 번호를 출력한다.

두 경우 모두 조건을 만족하는 방청객이 여러 명이면 그중 번호가 가장 작은 방청객의 번호를 출력한다.

예제3

  1. 예제 1

    입력
    10
    3
    2 4
    7 8
    6 9
    
    예상 출력
    3
    1
    
  2. 예제 2

    입력
    10
    3
    1 3
    5 7
    8 9
    
    예상 출력
    1
    1
    
  3. 예제 3

    입력
    10
    5
    1 1
    1 2
    1 3
    1 4
    7 8
    
    예상 출력
    4
    5