Buffcraft

아직 제출이 없습니다시간 제한2초메모리 제한256 MB

문제

브렌다는 롤플레잉 게임 Buffcraft를 한다. Buffcraft에서는 방패, 검, 책 같은 소지품이 캐릭터의 능력치를 바꾸지 않는다. 능력치를 올리는 방법은 캐릭터에게 버프를 거는 것뿐이다.

Buffcraft의 버프는 두 종류다. 직접 버프는 능력치의 기본값을 올리고, 퍼센트 버프는 기본값에 비례하는 만큼 능력치를 올린다. 정확히 말하면 어떤 능력치의 기본값이 bb이고 강도가 d1,d2,,dnd_1, d_2, \dots, d_n인 직접 버프 nn개와 강도가 p1,p2,,pmp_1, p_2, \dots, p_m인 퍼센트 버프 mm개를 걸었다면, 최종 능력치는 (b+d1+d2++dn)(100+p1+p2++pm)/100(b + d_1 + d_2 + \dots + d_n)(100 + p_1 + p_2 + \dots + p_m)/100이다. 최종 능력치는 소수일 수 있다.

캐릭터의 버프 슬롯은 kk개뿐이고, 버프를 kk개보다 많이 걸면 마지막 kk개만 남는다. 그래서 한 번에 kk개를 넘게 걸 이유가 없다. 같은 버프를 두 번 걸 수는 없다.

브렌다는 캐릭터를 레이드에 보내기 전에 체력을 최대로 올리려 한다. 가지고 있는 직접 버프와 퍼센트 버프 중에서 체력을 가장 크게 만드는 조합을 골라라.

입력

첫 줄에 네 정수 bb, kk, cdc_d, cpc_p가 주어진다. 각각 캐릭터의 기본 체력, 버프 슬롯의 개수, 쓸 수 있는 직접 버프의 개수, 쓸 수 있는 퍼센트 버프의 개수다.

둘째 줄에 직접 버프의 강도 did_icdc_d개 주어진다.

셋째 줄에 퍼센트 버프의 강도 pip_icpc_p개 주어진다.

입력의 모든 수는 0 이상 50000 이하다. cdc_dcpc_p가 0이면 그 줄은 빈 줄이다.

출력

첫 줄에 사용할 직접 버프의 개수 nn과 퍼센트 버프의 개수 mm을 출력한다. (0ncd0 \le n \le c_d, 0mcp0 \le m \le c_p, 0n+mk0 \le n + m \le k)

둘째 줄에 사용할 직접 버프의 번호 nn개를 증가하는 순서로 출력한다. 버프의 번호는 1부터 시작한다.

셋째 줄에 사용할 퍼센트 버프의 번호 mm개를 증가하는 순서로 출력한다.

nn이나 mm이 0이면 그 자리에 빈 줄을 출력한다.

체력이 최대가 되는 조합은 여러 가지일 수 있으므로, 다음 규칙으로 정한 조합을 출력한다.

  1. 직접 버프를 강도가 큰 순서로 정렬한다. 강도가 같으면 번호가 작은 쪽을 앞에 둔다. 퍼센트 버프도 같은 방식으로 정렬한다.
  2. 00부터 min(k,cd)\min(k, c_d)까지의 각 nn에 대해 m=min(kn,cp)m = \min(k - n, c_p)로 두고, 정렬한 순서에서 앞의 직접 버프 nn개와 앞의 퍼센트 버프 mm개를 고른다.
  3. 이렇게 만든 후보 중에서 체력이 가장 큰 것을 출력한다. 체력이 같은 후보가 여럿이면 nn이 가장 작은 것을 고른다.