Задача №112828. Заработная плата

В некоторой компании работают три сотрудника — Алексей, Виктор и Сергей. Их месячный оклад составляет A , B и C рублей соответственно. При этом Алексей работает на полную ставку, а Виктор и Сергей — на половину ставки, то есть работают вдвое меньше, чем Алексей.

По итогам месяца директор компании хочет распределить между этими сотрудниками премиальный фонд, который составляет N рублей. При этом директор хочет распределить премиальный фонд таким образом, чтобы итоговая зарплата (сумма оклада и премии) у этих сотрудников оказалась пропорциональна проведённому на работе времени, то есть зарплата Алексея должна оказаться ровно в два раза больше, чем зарплата Виктора и Сергея. Более формально, если премия Алексея составит x рублей, премия Виктора — y рублей, премия Сергея — z рублей, то A + x =  2 ×  ( B + y )  =  2 ×  ( C + z ) , x + y + z N . При этом бухгалтерия требует, чтобы размер премии (как и размер оклада) выражался целым числом рублей, а директор хочет распределить максимально большую часть премиального фонда, то есть сумма x + y + z должна быть максимально возможной, не превышая при этом N .

Напишите программу, которая определит, какую премию нужно назначить каждому из сотрудников.

Входные данные

Программа получает на вход сначала три целых числа A , B , С , записанные в отдельных строках, — размеры окладов Алексея, Виктора и Сергея ( A >  0 , B >  0 , С >  0 ). В четвёртой строке входных данных записано одно целое число N — размер премиального фонда ( N \(\ge\)  0 ).

Выходные данные

Программа должна вывести три числа — размер премии Алексея, Виктора и Сергея. Если премиальный фонд нельзя распределить так, чтобы выполнялись требуемые условия, программа должна вывести одно число 0.

Примечание

В первом тесте: с учетом премии зарплата Алексея составит 12 рублей, Виктора и Сергея — 6 рублей.

Во втором тесте: Добиться нужного соотношения премиальных выплат невозможно.

Ограничения и система оценивания

Решение, которое выводит правильный ответ только на тестах из условия и тех тестах, на которых ответом является «0», будет оцениваться в 0 баллов.

Решение, правильно работающее в случае, когда все входные числа не превосходят 100, будет оцениваться в 30 баллов.

Решение, правильно работающее в случае, когда все входные числа не превосходят 10 5 , будет оцениваться в 60 баллов.

Решение, правильно работающее в случае, когда все входные числа не превосходят 10 9 , будет оцениваться в 100 баллов.

Примеры
Входные данные
7
3
4
12
Выходные данные
5
3
2
Входные данные
20
10
11
2
Выходные данные
0
Сдать: для сдачи задач необходимо войти в систему