Валера очень любит участвовать в олимпиадах. Особенно в олимпиадах по программированию. Сегодня он поучаствовал в олимпиаде в составе команды, состоящей из n студентов (включая Валеру). Соревнование было индивидуальное, поэтому каждый студент в команде решал задачи индивидуально.
После олимпиады Валера заинтересовался результатами участников. Ему удалось выяснить, что:
- каждый студент в команде набрал не менее l очков и не более r очков;
- в сумме все участники команды набрали ровно sall очков;
- сумма очков тех k членов команды, которые набрали наибольшее количество очков, равна sk; более формально, если a1, a2, ..., an — очки, которые получили студенты команды, в невозрастающем порядке (a1 ≥ a2 ≥ ... ≥ an), то sk = a1 + a2 + ... + ak.
Однако Валера не узнал, сколько в точности очков набрал каждый из n студентов. Валера попросил вас восстановить любое распределение очков между студентами команды, удовлетворяющее всем перечисленным выше условиям.
Выходные данные
Выведите ровно n целых чисел a1, a2, ..., an — количество баллов, набранное каждым из студентов. Если существует несколько решений, разрешается вывести любое. Выводить распределение баллов можно в любом порядке.
Примеры
| № | Входные данные | Выходные данные |
|
1
|
5 3 1 3 13 9
|
2 3 2 3 3
|
|
2
|
5 3 1 3 15 9
|
3 3 3 3 3
|