e-olymp
Задачі

Система числення "1"

Система числення "1"

Як всім відомо, у системі числення з основою n використовується до n різних значущих цифр. Таким чином система числення з основою 1 використовує лише одну цифру - це "0". Будемо дотримуватись наступних правил у системі числення з основою 1. Кожен розряд складається з декількох відокремлених пропусками блоків 0. Блок може мати 1, 2 чи більше 0-ів. Існує "прапорець" змінної, пов'язаної з кожним блоком:

  • Блок з одного 0 має "прапорець" рівний 1
  • Блок з двох 0-ів має "прапорець" рівний 0
  • Якщо у блоці n (n > 2) нулів, то n2 двійкових цифр з поточним значенням прапорця додається до шуканого значення числа.

Відмітимо, що перший блок не може містити більше двох нулів. Наприклад, число у системі числення 1: 0 0000 00 000 0 0000 еквівалентне двійковому числу 11011.

  • 1-й блок встановлює прапорець рівним 1
  • 2-й блок має 40-і. тоді додамо прапорець (=1) 42 = 2 рівний (11).
  • 3-й блок має 20-і. Встановимо прапорець в 0
  • 4-й блок має 30-і. Додали прапорець (=0) 3-2 = 1 рівний (110).
  • 5-й блок має один 0. Встановили прапорець = 1
  • 6-й блок має 40-і. Додали прапорець (=0) 4-2 = 2 рівний (11011).

Гарантується, що кінцеве подання числа буде мати не більше 30 цифр. Тоді Вам залишається перетворити отримане двійкове число у десяткове для виведення і процес завершено!

Вхідні дані

У вхідних даних не більше 2010 тестових випадків. Кожен тестовий випадок складається з одного числа, записаного у системі числення 1, згідно описаних вище правил. Кожне число буде розміщено у одному рядку і завершуватись симоволом "#". Символ "~" вказує на завершення вхідних даних.

Вихідні дані

Для кожного тестового випадку і отриманого у ньому числа у системі числення 1 виведіть у окремому рядку його аналог у звичайній десятковій системі числення.

Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
0 0000 00 000 0 0000 #
0 000 #
~
Вихідні дані #1
27
1