Ломиголовка вчителя#1447

Ломиголовка вчителя

1 секунда
64 мегабайти
Дуже складна

Вчитель математики з однієї з найкращих шкіл Японії, Чін Пу, познайомив своїх учнів із -ковою системою числення.

Нагадаємо, що число b_k...b_2b_1b_0, де b_i = 0 або b_i = 1 для будь-якого , називається -ковим представленням числа , якщо виконується рівність n = b_k \cdot (-2)^k + ... + b_2 \cdot (-2)^2 + b_1 \cdot (-2)^1 + b_0 \cdot (-2)^0.

Щоб закріпити матеріал, Чін Пу дав учням свою улюблену задачу: він записує на дошці послідовність довжини , яка складається з нулів і одиниць (можливо з початковими нулями), і просить учнів записати під нею послідовність довжини , що також складається з нулів і одиниць (можливо з початковими нулями), таку, щоб сума -кових чисел і , представлених і , мала максимальну можливу кількість одиниць у своєму -ковому представленні. Така послідовність називається коректним розв'язком задачі.

Серед усіх коректних розв'язків Чін Пу просить знайти "максимальний", тобто такий, що представляє найбільше -кове число.

Оскільки для достатньо великих задача може виявитися досить складною, а Чін Пу потрібно перевіряти правильність розв'язків учнів, він просить вас написати програму, яка б вирішувала цю задачу, як описано вище.

Вхідні дані

Рядок, що описує послідовність, написану вчителем. Рядок містить від до символів, кожен з яких — '0' або '1'.

Вихідні дані

Рядок тієї ж довжини, що і вхідний. Рядок повинен задавати "максимальну" послідовність, що задовольняє умові, поставленій вчителем.

Приклади

Приклад 1

Loading
Loading