Рівняння#3150

Рівняння

1 секунда
256 мегабайтів
Легка

Програміста Вову вже давно цікавлять різноманітні задачі на рядки. У цій задачі рядком називається будь-яка послідовність символів ASCII з кодами від до .

Нещодавно Вова дізнався про операції над рядками:

Після цього Вова замислився: чому б не придумати рівняння, невідомим у якому був би рядок? І він почав розв'язувати вигадані ним рівняння.

Перейдемо до формальних визначень. Будемо називати рівнянням послідовність a_1°a_2°\ldots°a_n=b, де a_i — або невідомий рядок (позначається "?"), або певний заданий непорожній рядок (записується символами цього рядка без додаткових символів чи роздільників), — заданий непорожній рядок, а символи "" можуть відповідати або операції додавання, або множення (у різних місцях можуть стояти різні оператори). Усі операції виконуються строго зліва направо; дужки не впливають на порядок виконання операцій. Гарантується, що існує , для якого a_i = "?". Символи "?", "", "" та "" не використовуються як символи у відомих рядках. Крім того, усі a_i та — непорожні рядки.

Потрібно розв'язати таке рівняння, враховуючи, що непорожній розв'язок існує.

Вхідні дані

Перший рядок містить рядок , що задає рівняння. Кількість операцій не перевищує , а довжина рядка не перевищує символів. Рівняння завжди містить хоча б один символ "?".

Вихідні дані

Виведіть значення невідомого рядка.

Приклади

Приклад 1

Loading
Loading