혼합물 (Large)

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

문제

어느 연구실에서 지금까지 알려진 적 없는 두 가지 신물질 A와 B를 만드는 방법을 찾아냈다. 실제로 만들어질 수 있는지는 따지지 않는다. A와 B는 모두 NN가지 재료 M1,M2,,MNM_1, M_2, \dots, M_N을 정해진 비율로 섞어서 만든다. A는 1g당 가치가 XX이고, B는 1g당 가치가 YY이다.

A를 1g 만들려면 MiM_iGAiGA_ig 필요하고, B를 1g 만들려면 MiM_iGBiGB_ig 필요하다. 재료는 모두 희귀해서 MiM_iWiW_ig만 남아 있다. A와 B는 0 이상의 실수 g만큼 만들 수 있고, 정수 g로 맞출 필요는 없다.

남아 있는 재료로 A와 B를 만들어 얻을 수 있는 가치의 최댓값을 구하고, 그때 A와 B를 각각 몇 g 만들어야 하는지 구하는 프로그램을 작성하여라.

입력

첫째 줄에 NN, XX, YY가 주어진다.

둘째 줄에 GA1,GA2,,GANGA_1, GA_2, \dots, GA_N이 주어지고, 셋째 줄에 GB1,GB2,,GBNGB_1, GB_2, \dots, GB_N이 주어진다. 넷째 줄에 W1,W2,,WNW_1, W_2, \dots, W_N이 주어진다.

1N2000001 \le N \le 200\,000이고, NN을 제외한 모든 수는 11 이상 10000001\,000\,000 이하의 자연수이다.

출력

첫째 줄에 얻을 수 있는 가치의 최댓값을 출력한다.

둘째 줄에 A를 몇 g 만들어야 하는지와 B를 몇 g 만들어야 하는지를 공백으로 구분해 출력한다.

세 값 모두 정확한 값을 소수점 아래 둘째 자리까지 반올림해서 출력한다. 버리는 부분이 정확히 중간이면 올린다. 예를 들어 정확한 값이 250000.125250000.125이면 250000.13250000.13을 출력한다.

가치가 최대가 되는 방법이 여러 가지이면 A를 가장 적게 만드는 것을 출력한다.