주가

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

문제

싸게 사서 비싸게 판다. 주식 시장에서 이익을 내려면 이렇게 해야 한다(여기서 공매도는 고려하지 않는다). 물론 미래의 주가는 아무도 알 수 없으므로, 언제 사고팔아야 하는지, 반복 매매로 얼마나 이익을 낼 수 있는지 정확히 알기는 어렵다.

하지만 지난 $n$일 동안의 주가 기록이 주어진다면, 낼 수 있었던 최대 이익은 분명히 계산할 수 있다. 이 문제에서는 대신, 가장 낮은 $k_1$개의 가격과 가장 높은 $k_2$개의 가격이 나타난 날을 찾는 데 관심이 있다.

입력

입력은 여러 개의 테스트 케이스로 이루어진다.

각 케이스의 첫 줄에는 세 정수 $n$, $k_1$, $k_2$가 주어진다 ($1 \le n \le 10^6$, $k_1 + k_2 \le n$, $1 \le k_1, k_2 \le 100$).

다음 줄에는 $n$개의 음이 아닌 정수가 주어지며, 그중 $i$번째 정수($1 \le i \le n$)는 $i$일째의 주가이다.

입력의 끝은 $n = k_1 = k_2 = 0$인 줄로 표시되며, 이 줄은 처리하지 않는다.

출력

각 테스트 케이스마다 세 줄을 출력한다.

  • 첫 줄에는 케이스 번호를 Case x 형식으로 출력한다($x$는 1부터 시작한다).
  • 둘째 줄에는 가장 낮은 $k_1$개의 가격이 나타난 날들을 오름차순으로 출력한다.
  • 셋째 줄에는 가장 높은 $k_2$개의 가격이 나타난 날들을 내림차순으로 출력한다.

한 줄 안의 값들은 공백 하나로 구분한다. 같은 가격을 가진 날이 여러 개여서 답이 여러 가지일 수 있는 경우, 가장 낮은 가격의 목록은 사전순으로 가장 작은 것을, 가장 높은 가격의 목록은 사전순으로 가장 큰 것을 출력한다.