Codeforces Round 595 (Div. 3) |
---|
Закончено |
Единственное отличие между простой и сложной версиями — максимальное значение $$$n$$$.
Вам дано положительное целое число $$$n$$$. Вы очень любите хорошие числа, поэтому вам хочется найти минимальное хорошее число, большее или равное $$$n$$$.
Положительное число называется хорошим, если оно может быть представлено в виде суммы различных степеней $$$3$$$ (т.е. повторения степеней $$$3$$$ запрещены).
Например:
Обратите внимание, что существуют и другие представления $$$19$$$ и $$$20$$$ в качестве сумм степеней $$$3$$$, но ни одно из них не состоит из различных степеней $$$3$$$.
Для заданного положительного числа $$$n$$$ найдите наименьшее $$$m$$$ ($$$n \le m$$$) такое, что $$$m$$$ — хорошее число.
Вам необходимо ответить на $$$q$$$ независимых запросов.
Первая строка входных данных содержит одно целое число $$$q$$$ ($$$1 \le q \le 500$$$) — количество запросов. Затем следуют $$$q$$$ запросов.
Единственная строка запроса содержит одно целое число $$$n$$$ ($$$1 \le n \le 10^{18}$$$).
Для каждого запроса выведите наименьшее число $$$m$$$ (где $$$n \le m$$$) такое, что $$$m$$$ —хорошее число.
8 1 2 6 13 14 3620 10000 1000000000000000000
1 3 9 13 27 6561 19683 1350851717672992089
Название |
---|