최대화된 부분집합

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

원소가 중복될 수 있는 집합, 즉 다중집합(multiset) AA에 대하여 함수 f(A)f(A)를 다음과 같이 정의한다. 11부터 xx까지의 모든 정수를 각각 AA의 어떤 부분다중집합(원소를 원래 등장한 개수만큼만 사용하는 부분집합)의 원소 합으로 표현할 수 있지만, x+1x + 1은 그러한 합으로 표현할 수 없는 가장 큰 정수 xx가 바로 f(A)f(A)의 값이다.

nn개의 원소로 이루어진 다중집합 AA가 주어진다. f(B)f(B)가 최대가 되도록 원소 kk개를 골라 부분다중집합 BB를 만들 때, 그 최댓값 f(B)f(B)를 구하여라.

입력

첫째 줄에 데이터 집합의 개수를 나타내는 정수 tt (1t1001 \le t \le 100)가 주어진다. 각 데이터 집합은 두 줄로 이루어진다. 첫째 줄에는 두 정수 nnkk (1kn1051 \le k \le n \le 10^5)가 주어진다. 둘째 줄에는 AA의 원소를 나타내는 nn개의 정수 a1,a2,,ana_1, a_2, \dots, a_n (1ai1091 \le a_i \le 10^9)이 공백 하나로 구분되어 주어진다.

모든 데이터 집합에 대한 nn의 합은 10610^6을 넘지 않는다.

출력

각 데이터 집합마다 f(B)f(B)의 최댓값을 한 줄에 하나씩 정수로 출력한다.