Problem

9 /9


마지막

Problem

프로그래밍 대회는 상트페테르부르크, 바르나울 및 근해의 일부 도시에서 매년 개최됩니다. 이 대회는 가장 존경받는 협회 중 하나인 ACM(Association for Computing Machinery)에서 주관하는 학생 세계 프로그래밍 챔피언십의 일환으로 개최됩니다. 이 대회에서는 동유럽 지역 NEERC(북동 유럽 지역 대회)의 팀이 선발됩니다. 매년 대회 주최자는 세계 프로그래밍 챔피언십 결승전에 참가하도록 초대될 팀을 결정하는 문제에 직면합니다. 새로운 규칙에 따르면 NEERC를 대표하는 N팀만이 결승전에 진출합니다. 또한 한 대학에서 k개 이상의 팀은 합격할 수 없습니다. 동시에, 이러한 모든 세트에서 준결승 대회에서 이들 팀이 차지하는 자리의 합이 가능한 최소인 세트가 선택됩니다. 귀하의 임무는 준결승전의 최종 프로토콜과 숫자 N과 k를 기반으로 월드컵 결승전에 참가할 팀을 결정하는 것입니다.
 
입력
입력 파일의 첫 번째 줄에는 세 개의 자연수 Р(1 ≤ P ≤ 100000) — 준결승에 참가하는 팀의 수, N (1 ≤ N ≤ P ) 및 k (1 ≤ k ≤ P ) . 다음 P 줄은 한 줄에 하나씩 팀이 해당 자리를 차지한 대학의 이름을 나열합니다. 대학 이름에는 소문자 및 대문자 라틴 문자와 공백이 포함됩니다. 대학 이름의 길이는 30자를 초과할 수 없습니다. 다음 줄에는 각 대학의 팀 번호가 나열됩니다. 따라서 i 번째 줄에 대학 이름을 적으면 (2 ≤ i ≤ P + 1) 이 팀은 준결승에서 i - 1 위를 차지했으며 P + 2 줄의 i - 1자리에 작성되었습니다.
 
출력
출력 파일에는 World Programming Championship의 결승전에 참가하도록 초대된 팀의 이름을 준결승에서 차지한 장소별로 정렬하여 인쇄합니다. 팀 이름으로 대학 이름과 공백 #the 팀 번호를 인쇄하십시오.
 
<헤드> <몸>
# 입력 출력
1
9 5 2
판타지 대학
미친 대학
판타지 대학
판타지 대학
아주 좋은 U
좋은 U
아주 좋은 U
미친 대학
좋은 U
1 1 2 3 2 1 1 2 2
판타지 대학 #1
미친 대학 #1
판타지 대학 #2
아주 좋은 U #2
좋은 U #1