21. Поврежденный XML

Не решаласьСредняя

Формат XML является распространённым способом обмена данными между различными программами. Недавно программист Иванов написал небольшую программу, которая сохраняет некоторую важную информацию в виде XML-строки.

XML-строка состоит из открывающих и закрывающих тегов.

Открывающий тег начинается с открывающей угловой скобки ( <\lt ), за ней следует имя тега — непустая строка из строчных букв латинского алфавита, а затем закрывающая угловая скобка ( >\gt ). Примеры открывающих тегов: <\lt a >\gt , <\lt dog >\gt .

Закрывающий тег начинается с открывающей угловой скобки, за ней следует прямой слеш (/), затем имя тега — непустая строка из строчных букв латинского алфавита, а затем закрывающая угловая скобка. Примеры закрывающихся тегов: <\lt /a >\gt , <\lt /dog >\gt .

XML-строка называется корректной, если она может быть получена по следующим правилам:

• Пустая строка является корректной XML-строкой.

• Если A и B — корректные XML-строки, то строка AB, получающаяся приписыванием строки B в конец строки A, также является корректной XML-строкой.

• Если A — корректная XML-строка, то строка <\lt X >\gt A <\lt /X >\gt , получающаяся приписыванием в начало A открывающегося тега, а в конец — закрывающегося с таким же именем, также является корректной XML-строкой. Здесь X — любая непустая строка из строчных букв латинского алфавита.

Например, представленные ниже строки: <\lt a >\gt <\lt /a >\gt <\lt a >\gt <\lt ab >\gt <\lt /ab >\gt <\lt c >\gt <\lt /c >\gt <\lt /a >\gt <\lt a >\gt <\lt /a >\gt <\lt a >\gt <\lt /a >\gt <\lt a >\gt <\lt /a >\gt являются корректными XML-строками, а такие строки как: <\lt a >\gt <\lt /b >\gt <\lt a >\gt <\lt b >\gt <\lt a >\gt <\lt b >\gt <\lt /a >\gt <\lt /b >\gt не являются корректными XML-строками.

Иванов отправил файл с сохраненной XML-строкой по электронной почте своему коллеге Петрову. Однако, к сожалению, файл повредился в процессе пересылки: ровно один символ в строке заменился на некоторый другой символ.

Требуется написать программу, которая по строке, которую получил Петров, восстановит исходную XML-строку, которую отправлял Иванов.

Формат ввода

Входной файл содержит одну строку, которая заменой ровно одного символа может быть превращена в корректную XML-строку. Длина строки лежит в пределах от 7 до 1000, включительно. Строка содержит только строчные буквы латинского алфавита и символы « <\lt » (ASCII код 60), « >\gt »(ASCII код 62) и «/»(ASCII код 47). Строка во входном файле заканчивается переводом строки.

Формат вывода

Выходной файл должен содержать корректную XML-строку, которая может быть получена из строки во входном файле заменой ровно одного символа на другой. Если вариантов ответа несколько, можно вывести любой.

Ограничения

Ограничение времени

1 с

Ограничение памяти

64 МБ

Пример 1

Ввод
<a></b>
Вывод
<b></b>

Пример 2

Ввод
<a><aa>
Вывод
<a></a>

Пример 3

Ввод
<a><>a>
Вывод
<a></a>

Пример 4

Ввод
<a/</a>
Вывод
<a></a>

Теги

Нужно войти, чтобы отправить решение.Войти