만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

농구

면접 대비

시간 제한1초메모리 제한1024 MB

요약
홀수 번째 학생 팀과 짝수 번째 학생 팀의 교체를 m번 시뮬레이션하고, 최종적으로 코트에 있는 선수를 사전순으로 출력합니다.
난이도

쉬움10점 중 3점

유형
시뮬레이션, 정렬
정답자
아직 제출이 없습니다

문제

체육 시간에 10-A반 학생들이 농구를 한다. 반에는 nn명의 학생이 한 줄로 서 있다. 체육 선생님은 학생들을 다음과 같이 두 팀으로 나눈다. 첫 번째 팀에는 홀수 번째 자리(첫 번째, 세 번째, 다섯 번째 등)에 서 있는 학생이 들어간다. 짝수 번째 자리(두 번째, 네 번째, 여섯 번째 등)에 선 학생은 두 번째 팀이 된다.

각 팀은 코트에 항상 pp명이 있다. 처음에는 원래 줄에서 앞쪽에 서 있던 각 팀의 pp명이 코트에 들어간다. 모든 학생이 뛸 수 있도록 선생님은 매분 두 팀 모두에서 교체를 한다.

지금까지 코트에서 가장 오래 뛴 선수(연속일 필요는 없이 누적 시간 기준)가 벤치로 나간다. 같은 시간인 선수가 여럿이면 원래 줄에서 번호가 가장 큰 선수가 쉰다.

벤치에 있는 선수 중 지금까지 코트에서 가장 적게 뛴 선수가 코트에 들어온다. 같은 시간인 선수가 여럿이면 원래 줄에서 번호가 가장 작은 선수가 들어온다.

선생님은 mm번의 교체 후 코트에 누가 있을지 알고 싶어 한다. 이를 알아내도록 도와 달라.

예를 들어 여섯 명의 학생이 Ivanov, Petrov, Sidorov, Andreev, Kazakov, Sergeev 순서로 서 있다고 하자. 팀은 다음과 같이 구성된다. 첫 번째 팀은 Ivanov, Sidorov, Kazakov이다. 두 번째 팀은 Petrov, Andreev, Sergeev이다. 코트에 동시에 2명이 있다고 하면, 처음에는 첫 번째 팀에서 Ivanov와 Sidorov, 두 번째 팀에서 Petrov와 Andreev가 코트에 들어간다.

1분이 지나면 Sidorov와 Andreev가 벤치로 가고 Kazakov와 Sergeev가 들어온다. 2분이 지나면 Ivanov와 Petrov가 쉬고 Sidorov와 Andreev가 돌아온다. 3분이 지나면 Kazakov와 Sergeev가 다시 쉬고 Sidorov와 Andreev가 들어온다. 따라서 세 번의 교체 후 코트에는 (알파벳 순으로) Andreev, Ivanov, Petrov, Sidorov가 있다.

입력

첫 줄에 세 정수 nn, mm, pp (2p≤n≤502p \le n \le 50, 1≤p≤101 \le p \le 10, 0≤m≤1000 \le m \le 100)가 주어진다. 다음 nn개의 줄에는 원래 줄에 선 순서대로 선수의 성이 한 줄에 하나씩 주어진다. 각 성은 라틴 알파벳으로 이루어진 비어 있지 않은 문자열이며 길이는 50 이하이다. 모든 성은 서로 다르다.

출력

mm번의 교체 후 코트에 있는 선수들의 성을 알파벳 순서로 출력한다. 성은 공백으로 구분한다.

예제1

  1. 예제 1

    입력
    6 3 2
    Ivanov
    Petrov
    Sidorov
    Andreev
    Kazakov
    Sergeev
    
    예상 출력
    Andreev Ivanov Petrov Sidorov