프로그래밍 대회의 예선 라운드가 막 끝났다. 나는 예선을 통과했고, 나와 함께 통과한 참가자가 몇 명인지 알고 싶다. 손에 있는 정보는 각 문제를 푼 사람 수뿐이다.
예선에는 문제가 P개 출제되었고, i번 문제 (0≤i≤P−1)를 완전히 푼 참가자는 Si명이다. 다음 라운드에 진출하려면 문제를 C개 이상 풀어야 한다. 한 참가자가 같은 문제를 두 번 푼 것은 한 번으로 세므로, 진출한 참가자는 서로 다른 문제를 C개 이상 푼 셈이다.
이 정보만으로 진출할 수 있었던 참가자 수의 최댓값을 구하라.
첫째 줄에 테스트 케이스의 수 T가 주어진다. 이어서 T개의 줄이 주어지며, 각 줄은 공백으로 구분된 정수로만 이루어진다. 먼저 P, 그다음 C, 그다음 S0부터 SP−1까지 P개의 정수가 온다.
각 테스트 케이스마다 Case #x: y 형식으로 한 줄씩 출력한다. x는 1부터 시작하는 테스트 케이스 번호이고, y는 진출할 수 있었던 참가자 수의 최댓값, 즉 서로 다른 문제를 C개 이상 푼 참가자 수의 최댓값이다.
y는 최대 6×1018까지 커지므로 64비트 정수를 사용하라.