eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Рівняння

Рівняння

Програміст Вова давно цікавиться різлними задачами з рядками. У цій задачі будемо вважати, що рядок - довільна послідовність ASCII-символів з кодами від \textbf{33} до \textbf{126}. Нещодавно Вова взнав про операції з рядками: \begin{itemize} \item додавання рядків, позначається символом "\textbf{+}". Наприклад, \textbf{Doctor+Who=DoctorWho}. \item множення рядків, позначається символом "\textbf{*}". Якщо \textbf{S=A*B}, то \textbf{S=a_1+B+a_2+B+...+a_n+B}, де \textbf{a_i} - \textbf{i}-ий символ рядка \textbf{A} (нумерація симовлів рядка починається з \textbf{1}). Наприклад, \textbf{aca*x=axcxax}. \end{itemize} Після цього Вова подумав: а чому б не придумати рівняння, де невідомою величиною буде рядок. Після цього Вова став розв'язувати придумані ним рівняння. Перейдемо до формальних визначень. Назвемо рівнянням послідовність \textbf{a_1°a_2°...°a_n=b}, де \textbf{a_i} - довільний невідомий рядок (позначається "\textbf{?}"), або якийсь певний непорожній рядок (записується символами рядка без яких би то не було додаткових символів або обмежувачів), \textbf{b} - якийсь певний непорожній рядок, а на місці значків \textbf{°} можуть стояти знаки операцій додавання або множення (причому у різних місцях можуть стояти різні знаки). Усі дії виконуються строго зліво направо. Дужки не впливають на приорітет операцій. Гарантиується, що існує \textbf{i}, що \textbf{a_i=}"\textbf{?}". Символи "\textbf{?}", "\textbf{+}", "\textbf{*}", "\textbf{=}" не використовуються як символи відомих рядків. Також усім \textbf{a_i} та \textbf{b} відповідають непорожні рядки. Потрібно розв'язати рівняння подібного вигляду, якщо відомо, що існує непорожній розв'язок. \InputFile У першому рядку знаходиться рядок \textbf{S}, який задає рівняння. Кількість операцій не перевищує \textbf{200000}, довжина рядка \textbf{S} не більше ніж \textbf{300000} символів. У рівнянні завжди присутній хоча б один знак "\textbf{?}". \OutputFile Надрукуйте значення невідомого рядка.
Ліміт часу 1 секунда
Ліміт використання пам'яті 256 MiB
Вхідні дані #1
ab*?+ab=aabbababbaab
Вихідні дані #1
abba