수영장

수영장 치수와 세 가지 타일 크기의 재고가 주어질 때, 바닥과 네 벽을 가장 저렴하게 덮는 타일 조합을 구하거나 불가능을 판정한다.

보통6그리디수학구현아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

주민 센터가 내년 여름에 맞춰 새 수영장을 짓기로 했다. 수영장은 가로 XX, 세로 YY, 깊이 ZZ인 직육면체 모양이다. 수영장 안쪽 면은 새로 나온 첨단 세라믹 타일로 덮는다. 이 타일은 5×55 \times 5, 15×1515 \times 15, 30×3030 \times 30(단위: 센티미터)의 세 가지 크기로 생산되고 한 장의 가격은 각각 2센트, 15센트, 50센트이다. 타일은 자를 수 없는 소재로 만들어져서 반드시 온전한 한 장 그대로 써야 한다.

이 타일을 파는 가게는 동네에 한 곳뿐이고 크기별 재고가 정해져 있다. 가게의 재고로 수영장 전체에 타일을 붙일 수 있는지 판별하는 프로그램을 작성하시오. 붙일 수 있다면 비용이 가장 적게 드는 경우에 크기별로 필요한 타일 수도 구해야 한다.

타일로 덮는 면은 바닥(X×YX \times Y)과 네 벽(X×ZX \times Z 두 개, Y×ZY \times Z 두 개)이다. 빈틈이 남으면 안 되고 타일이 면의 가장자리 밖으로 튀어나와서도 안 된다. 타일은 모서리를 넘어 접을 수 없으므로 바닥과 네 벽에는 각각 따로 타일을 붙인다.

입력

입력은 여러 테스트 케이스로 이루어진다. 각 테스트 케이스는 두 줄이다. 첫째 줄에는 수영장의 가로, 세로, 깊이를 미터 단위로 나타내는 실수 XX, YY, ZZ가 소수점 아래 한 자리까지 주어진다(0<X,Y50.00 < X, Y \le 50.0, 0<Z2.00 < Z \le 2.0). 둘째 줄에는 가게에 있는 작은 타일, 중간 타일, 큰 타일의 수를 나타내는 정수 PP, MM, GG가 주어진다(0P,M,G20000000 \le P, M, G \le 2000000).

입력의 끝은 X=Y=Z=0X = Y = Z = 0인 줄로 나타낸다. 이 줄 뒤에는 둘째 줄이 오지 않는다.

출력

각 테스트 케이스마다 한 줄을 출력한다. 가게의 재고로 수영장 전체를 덮을 수 있으면 비용이 가장 적게 드는 경우의 작은 타일, 중간 타일, 큰 타일 수를 이 순서대로 공백으로 구분해 출력한다. 비용이 최소가 되는 타일 수 조합은 항상 하나뿐이다. 덮을 수 없으면 impossivel을 출력한다(악센트 없이).