혼합물 (Small)

아직 제출이 없습니다시간 제한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_i는 지금 WiW_ig만 남아 있다. A와 B는 각각 0 이상의 실수 g만큼 만들 수 있고, 재료는 만든 양에 비례해서 쓴다. 즉 A를 aag, B를 bbg 만든다면 모든 ii에 대해 GAi×a+GBi×bWiGA_i \times a + GB_i \times b \le W_i를 만족해야 하고, 이때 얻는 가치는 X×a+Y×bX \times a + Y \times b이다.

가진 재료로 얻을 수 있는 가치의 최댓값과, 그 최댓값을 얻으려면 A와 B를 각각 얼마나 만들어야 하는지 구하는 프로그램을 작성하시오.

입력

첫째 줄에 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이 주어진다.

NN을 제외한 모든 수는 1 이상 1000000 이하의 자연수이다.

NN의 제한은 다음과 같다.

1N2001 \le N \le 200

출력

첫째 줄에 얻을 수 있는 가치의 최댓값을 소수점 둘째 자리까지 반올림해 출력한다.

둘째 줄에 최댓값을 얻기 위해 만들어야 하는 A의 양과 B의 양을 소수점 둘째 자리까지 반올림해 공백 하나로 구분해 출력한다.

반올림은 정확한 값을 기준으로 하고, 소수점 둘째 자리 아래에 남는 부분이 0.005 이상이면 올린다.

최댓값을 얻는 방법이 여러 가지라면 A의 양이 가장 적은 방법을 출력한다. A의 양이 정해지면 B의 양도 하나로 정해진다.