아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

주말 복권

시간 제한3초메모리 제한128 MB

요약
1부터 K까지의 수 중에서 C개를 뽑는 추첨을 N번 했을 때, 가장 적게 나온 수를 모두 오름차순으로 출력한다.
난이도

쉬움10점 중 2점

유형
배열, 구현
정답자
아직 제출이 없습니다

문제

당신의 대학 동기들이 매주 금요일에 추첨을 하는 사설 복권을 운영하기로 했다. 규칙은 다음과 같다. 복권을 사려는 학생은 11부터 KK까지의 수 중에서 서로 다른 CC개의 수를 고르고 11달러를 낸다 (전통적인 복권에서는 흔히 C=6C = 6, K=49K = 49를 쓴다). 매주 금요일 점심에 11부터 KK까지의 수 중 CC개가 추첨된다. 맞힌 수가 가장 많은 학생이 모인 판돈을 받는다. 동점자가 여러 명이면 나눠 갖고, 아무도 추첨된 수를 하나도 맞히지 못하면 판돈은 다음 주로 이월된다.

확률의 법칙을 믿지 않는 몇몇 동기들이, 지금까지의 모든 추첨을 종합했을 때 가장 적게 뽑힌 수들을 찾아 달라고 부탁했다. 그 수들에 베팅하기 위해서다.

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스의 첫 줄에는 세 정수 NN, CC, KK가 주어진다. NN은 이미 진행된 추첨의 횟수(1≤N≤100001 \le N \le 10000), CC는 한 번의 베팅에 고르는 수의 개수(1≤C≤101 \le C \le 10), KK는 고를 수 있는 수의 최댓값(C<K≤100C < K \le 100)이다. 이어지는 NN개의 줄에는 각 추첨에서 뽑힌 서로 다른 CC개의 정수 XiX_i가 주어진다(1≤Xi≤K1 \le X_i \le K). 입력의 끝은 N=C=K=0N = C = K = 0으로 표시된다.

출력

각 테스트 케이스마다, 가장 적게 뽑힌 수들의 집합을 한 줄에 출력한다. 이 집합은 수를 증가하는 순서로 나열하며, 연속한 두 수 사이에는 공백 하나를 둔다.

예제1

  1. 예제 1

    입력
    5 4 6
    6 2 3 4
    3 4 6 5
    2 3 6 5
    4 5 2 6
    2 3 6 4
    4 3 4
    3 2 1
    2 1 4
    4 3 2
    1 4 3
    0 0 0
    
    예상 출력
    1
    1 2 3 4