지네의 다리

n과 m개의 기록이 주어질 때, 좌우 다리 수의 합이 n이고 각각 1 이상이 되도록 정하면서 l_i <= 좌, r_i <= 우를 만족하는 기록 수를 최대로 하고, 동률이면 좌측 다리 수가 가장 작은 답을 구한다.

보통5수학누적 합이분 탐색정렬면접 대비아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

필은 어릴 때 지네를 키웠다. 지네는 다리가 많다. 필의 지네도 다리가 모두 nn개였고, 그중 일부는 왼쪽 다리, 나머지는 오른쪽 다리였다. 지네는 매일 다리 몇 개를 사용했는데, 왼쪽 다리를 적어도 하나, 오른쪽 다리를 적어도 하나 항상 사용했다.

필은 그날 지네가 사용한 왼쪽 다리 개수와 오른쪽 다리 개수를 매일 공책에 적었다.

필은 이 기록으로 자기 지네의 왼쪽 다리 개수와 오른쪽 다리 개수를 알아내려고 한다. 그런데 필이 정확하게 적지 못해서 기록에 틀린 것이 섞여 있을 수 있다. 기록 li,ril_i, r_i는 지네의 왼쪽 다리가 lil_i개 이상이고 오른쪽 다리가 rir_i개 이상일 때 옳다.

옳은 기록의 개수가 최대가 되도록 왼쪽 다리 개수와 오른쪽 다리 개수를 정하라. 왼쪽 다리와 오른쪽 다리는 각각 1개 이상이고, 두 개수의 합은 nn이다.

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 첫째 줄에 테스트 케이스의 개수 tt가 주어진다 (1t1041 \le t \le 10^4).

각 테스트 케이스의 첫째 줄에는 지네의 전체 다리 개수 nn이 주어진다 (2n1092 \le n \le 10^9). 다음 줄에는 필이 남긴 기록의 개수 mm이 주어진다 (1m1051 \le m \le 10^5).

이어지는 mm개의 줄에는 필의 기록에 따라 ii번째 날 지네가 사용한 왼쪽 다리 개수 lil_i와 오른쪽 다리 개수 rir_i가 공백으로 구분되어 주어진다 (1li,rin1 \le l_i, r_i \le n).

한 입력에 들어 있는 모든 테스트 케이스의 기록 개수를 합한 값은 10510^5을 넘지 않는다.

출력

각 테스트 케이스마다 한 줄에 두 정수를 출력한다. 옳은 기록의 개수를 최대로 만드는 왼쪽 다리 개수와 오른쪽 다리 개수다.

옳은 기록의 개수를 최대로 만드는 답이 여러 개면 왼쪽 다리 개수가 가장 작은 것을 출력한다.