원소가 중복될 수 있는 집합, 즉 다중집합(multiset) A에 대하여 함수 f(A)를 다음과 같이 정의한다. 1부터 x까지의 모든 정수를 각각 A의 어떤 부분다중집합(원소를 원래 등장한 개수만큼만 사용하는 부분집합)의 원소 합으로 표현할 수 있지만, x+1은 그러한 합으로 표현할 수 없는 가장 큰 정수 x가 바로 f(A)의 값이다.
n개의 원소로 이루어진 다중집합 A가 주어진다. f(B)가 최대가 되도록 원소 k개를 골라 부분다중집합 B를 만들 때, 그 최댓값 f(B)를 구하여라.
첫째 줄에 데이터 집합의 개수를 나타내는 정수 t (1≤t≤100)가 주어진다. 각 데이터 집합은 두 줄로 이루어진다. 첫째 줄에는 두 정수 n과 k (1≤k≤n≤105)가 주어진다. 둘째 줄에는 A의 원소를 나타내는 n개의 정수 a1,a2,…,an (1≤ai≤109)이 공백 하나로 구분되어 주어진다.
모든 데이터 집합에 대한 n의 합은 106을 넘지 않는다.
각 데이터 집합마다 f(B)의 최댓값을 한 줄에 하나씩 정수로 출력한다.