문제
진흥이네 학교에서는 지금 교내 체육대회가 진행되고 있는데 지금은 반대항 턱걸이 종목의 게임이 진행되고 있다.
진흥이네 학년은 모두 N반으로 구성되어 있는데 한 반에서는 각각 M명의 선수가 출전하고 있다.
각 반의 선수들이 기록한 턱걸이 개수의 합계를 기준으로 1등 ~ 3등까지 금메달과 은메달, 동메달을 수여하도록 한다.
턱걸이에는 누구보다 자신 있던 진흥이도 반대표로 선발되어 자기 차례를 기다리고 있다.
다른 선수들의 순서가 모두 끝나고 드디어 진흥이의 순서가 되었다.
당연하게도 진흥이는 다른 모든 선수들이 턱걸이를 몇 개씩 했는지 알고 있다.
진흥이는 두 가지의 목표를 세워서 턱걸이를 시작하기로 했다.
가능하면 자신의 반이 1등을 하여 금메달을 따도록 하되 만약 그것이 불가능하게 될 경우 최소한 동메달 이상을 따는 것이다.
그러기 위해서는 금메달을 따기 위해 진흥이가 턱걸이를 해야 하는 최소 개수와 동메달 이상을 따기 위해 해야 하는 최소 개수를 알아야 한다.
만약 개수가 같은 경우에는 공동시상을 하게 되므로 금메달을 따기 위해서는 자기반의 합계보다 더 많은 개수가 없으면
되고 동메달 이상을 따기 위해서는 자기반의 합계보다 더 많은 개수가 두 반 이하에서 나오면 된다.
참고로 진흥이는 N반이다.
진흥이네 반이 금메달을 따기 위해 진흥이가 해야 하는 턱걸이의
최소 개수와 동메달 이상을 따기 위해 해야 하는 턱걸이의 최소 개수를 구하는 프로그램을 작성해서 알려주도록 하자.
입력
첫째 줄에는 진흥이네 학년의 반을 나타내는 N(5 <= N <= 100)과 한 반에서 참가하는 학생 수 M(1 <= M <= 1000)이 입력된다.
둘째 줄부터 N줄에 걸쳐 M명의 턱걸이 개수가 입력된다.
N반의 맨 마지막에는 0이 입력되는데 이것은 진흥이가 아직 턱걸이를 하지 않았기 때문이며 진흥이가 턱걸이를 하고 나면 바뀌게 되는 값이다.
출력
진흥이가 해야 하는 턱걸이의 개수를 자기 반이 금메달을 따기 위한 최소 개수, 동메달 이상을 따기 위한 최소 개수 순으로 출력한다.
각 테스트 케이스에 대한 배점 정보와, 제약 조건은 다음과 같다.
부분문제
| 번호 | 점수 | 조건 |
|---|---|---|
| #1 | 10점 | 5 <= N <= 10, M=1 |
| #2 | 20점 | 5 <= N, M <= 10 |
| #3 | 70점 | 추가적인 제약 조건이 없다. |
예제
5 2
10 15
38 39
66 37
48 15
50 0
53 13