I. И поделим, и умножим
Задачу добавил: alef
Успешно сдано решений: 8
Ограничение по времени: 2 с на тестОграничение по памяти: 256 Мб
Задание, которое прочли первокурсники, оказалось не таким уж простым: им предстояло написать программу для очень простой вычислительной машины. Совсем простой: она поддерживает только две операции: умножение на 3 и деление на 2 (нацело).
В задании говорилось, что авторам не удалось найти такого целого положительного числа, которое нельзя было бы получить, начав с единицы и применяя эти две операции. Так что первокурсники должны составить программу, которая должна получить число N из 1. Запись программы выглядит как строка, состоящая из двоек и троек, при этом 2 означает, что текущее число следует нацело поделить на 2, а 3 — что текущее число следует умножить на 3.
Получать самую короткую программу не требуется, достаточно, чтобы она содержала не более 106 операций. Также необходимо учесть, что вычислительная машина не поддерживает числа, большие 109, и при появлении такого числа прекращает вычисления, выдавая сообщение об ошибке.
На сей раз Харитон уселся за клавиатуру:
— Миллион операций! Да тут можно случайно умножать и делить, получится нужное число рано или поздно!
Феофан не разделял его оптимизма:
— С паролями же вот не получилось случайно подобрать
— С паролями просто не повезло! А сейчас повезет!
Ваша задача — составить программу для вычислительной машины, удовлетворяющую заданным ограничениям.
В первой строке содержится единственное целое число X, 2 ≤ X ≤ 106
Выведите в единственной строке выходного файла без пробелов последовательность операций, обозначаемых цифрами 2 (деление нацело на 2) и 3 (умножение на 3). Длина последовательности не должна превышать 106.
Входные данные
2
3322
Входные данные
4
332
Входные данные
31
3332323222332