Вступ
Система набору тексту LaTeX використовує макроси для визначення акцентів. Наприклад, букву ê виробляє \hat{e}
. У цьому виклику ваше завдання - реалізувати ASCII версію цього функціоналу.
Вхідні дані
Ваш вхід - це не порожня рядок символів для друку ASCII. Він не буде містити нових рядків.
Вихідні дані
Вихід - це рядок, що складається з двох рядків. Перший рядок містить наголоси, а другий - символи, до яких вони належать. Він отримується з введення наступним чином ( A
позначає довільний символ):
- Кожен
\bar{A}
замінюєтьсяA
з_
поверх нього. - Кожен
\dot{A}
замінюєтьсяA
з.
поверх нього. - Кожен
\hat{A}
замінюєтьсяA
з^
поверх нього. - Для бонусу -10%: кожен
\tilde{A}
замінюється наA
з~
поверх нього. - Усі інші символи мають пробіл над ними.
Наприклад, вхід
Je suis pr\hat{e}t.
Результати на виході
^
Je suis pret.
Правила та оцінка
Ви можете припустити, що символи \{}
зустрічаються лише в макросах \bar{}
, \dot{}
і \hat{}
(і \tilde{}
якщо ви йдете на бонус). Усі макроаргументи є точними одним символом, так \dot{foo}
і\dot{}
не відбуватиметься на вході. Виходом може бути рядок, розділений для нового рядка, або список / пара з двох рядків. Дозволяється будь-яка кількість пробілів та попередніх пробілів, якщо акценти знаходяться в потрібних місцях. Зокрема, якщо немає наголосів, вихід може бути одним рядком.
Ви можете написати повну програму або функцію. Виграє найменший кількість байтів (після бонусів), а стандартні лазівки заборонені.
Тестові справи
Без бонусу:
Input:
No accents.
Output:
No accents.
Input:
Ch\hat{a}teau
Output:
^
Chateau
Input:
Som\bar{e} \dot{a}cc\hat{e}nts.
Output:
_ . ^
Some accents.
Input:
dot hat\dot{h}a\hat{t}\hat{ }x\bar{x}dot
Output:
. ^^ _
dot hathat xxdot
Input:
\hat{g}Hmi\hat{|}Su5Y(\dot{G}"\bar{$}id4\hat{j}gB\dot{n}#6AX'c\dot{[}\hat{)} 6\hat{[}T~_sR\hat{&}CEB
Output:
^ ^ . _ ^ . .^ ^ ^
gHmi|Su5Y(G"$id4jgBn#6AX'c[) 6[T~_sR&CEB
З бонусом:
Input:
Ma\tilde{n}ana
Output:
~
Manana
Input:
\dot{L}Vz\dot{[}|M.\bar{#}0\hat{u}U^y!"\tilde{I} K.\bar{"}\hat{m}dT\tilde{$}F\bar{;}59$,/5\bar{'}K\tilde{v}R \tilde{E}X`
Output:
. . _ ^ ~ _^ ~ _ _ ~ ~
LVz[|M.#0uU^y!"I K."mdT$F;59$,/5'KvR EX`
\bar{foo}
коректний вклад?