Старинная задача
Готовясь к очередной олимпиаде по программированию, Степан наткнулся на старинную задачу, которая его сразу заинтересовала. В этой задаче говорилось о стране под названием Тримания, где номиналы всех бумажных денег (триманских фунтов) были степенями тройки: 1
, 3
, 9
, 27
и так далее. Требовалось определить минимальное количество купюр и их номиналы, которые понадобятся покупателю и продавцу для покупки товара стоимостью N
триманских фунтов и получения сдачи, при этом номиналы купюр, используемых для оплаты и сдачи, не должны повторяться.
Входные данные
Входной файл содержит одно число — N
(стоимость товара в фунтах, 0 ≤ N ≤ 10^18
).
Выходные данные
Выведите в одной строке номиналы купюр в возрастающем порядке через пробел, которые необходимы для покупки товара покупателю и продавцу, или –1
, если покупка товара при данных условиях невозможна.