Do it!

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

문제

당신은 조명 기구를 만드는 작은 회사의 사장이며, 직원 nn명을 두고 있습니다. 일이 필요할 때마다 사내 방송으로 "do it!"이라고 외치는 습관이 생겼습니다. 직원 중 n+n_+명은 이 외침에 긍정적으로 반응하고, nn_-명은 부정적으로 반응하며, 나머지 n0n_0명은 아무런 영향을 받지 않습니다.

시각 00에 모든 직원이 각자 자신의 조명 기구 하나를 만들기 시작합니다. 조명 기구 하나를 완성하려면 노동량 100100이 필요합니다. 평소에 각 직원은 한 단위 시간마다 노동량 rr만큼(남은 노동량이 그보다 작으면 남은 만큼) 기여하므로, 보통은 조명 기구 하나를 완성하는 데 100/r\lceil 100/r \rceil단위 시간이 걸립니다.

그러나 어떤 단위 시간 동안 당신이 사내 방송으로 "do it!"을 외치면, 그 단위 시간 동안 긍정적으로 반응하는 직원은 r+2r+2만큼, 부정적으로 반응하는 직원은 r1r-1만큼 일합니다. 영향을 받지 않는 직원은 언제나 rr만큼 일합니다.

각 직원은 오직 자신의 조명 기구만 만들고, 당신은 한 단위 시간에 "do it!"을 최대 한 번만 외칠 수 있습니다. 모든 nn개의 조명 기구가 완성되기까지 걸린 시간의 합이 최소가 되도록 "do it!"을 외치는 순서를 계획하는 것이 목표입니다.

입력

입력은 여러 개의 테스트 케이스로 이루어집니다. 각 테스트 케이스는 네 정수 n+n_+, nn_-, n0n_0, rr가 공백으로 구분되어 한 줄에 주어집니다 (0n+,n,n010000 \le n_+, n_-, n_0 \le 1000, 1r1001 \le r \le 100). 입력의 끝은 n+=n=n0=r=0n_+ = n_- = n_0 = r = 0인 줄로 표시되며, 이 줄은 처리하지 않습니다.

출력

각 테스트 케이스마다 모든 nn개의 조명 기구를 완성하는 데 필요한 시간의 최소 합을 한 줄에 하나씩 출력합니다.

힌트

첫 번째 예제 (3 1 1 2)(3\ 1\ 1\ 2)에서 한 가지 최적 전략은 처음 2525단위 시간 동안 매번 "do it!"을 외치는 것입니다. 그러면 긍정적으로 반응하는 직원 33명은 단위 시간마다 노동량 44를 기여하여 2525단위 시간 만에 완성합니다. 부정적으로 반응하는 직원 11명은 처음 2525단위 시간 동안 단위 시간마다 노동량 11을, 그 이후에는 22를 기여하여 25+38=6325 + 38 = 63에 완성합니다. 영향을 받지 않는 직원은 항상 노동량 22를 기여하여 5050에 완성합니다. 따라서 합은 3×25+63+50=1883 \times 25 + 63 + 50 = 188입니다.

두 번째 예제 (1 3 0 2)(1\ 3\ 0\ 2)에서 최적 전략은 "do it!"을 한 번도 외치지 않는 것입니다. 그러면 네 직원 모두 5050에 완성하므로 합은 200200입니다.