АВТ
Язык:

Дистанционный практикум по программированию

Задачи Online статус Соревнования
Новости Справка СДО
 
Здравствуйте, Гость! Войдите с паролем или зарегистрируйтесь.

990. (Не?) такая простая задача

Ограничение времени: 1 сек.
Ограничение памяти:65536 КБайт
Баллы:100
Статистика Послать на проверку Задачу добавил debug

В разметке XML некоторые символы имеют строго предопределенное значение и используются в служебных целях. Например, символ «<» определяет начало открывающего или закрывающего тега.

Поэтому, когда в XML-документ нужно поместить текст, содержащий служебные символы, этот текст предварительно преобразуется следующим образом: каждый служебный символ заменяется на «&название_символа;». Такое преобразование обычно выполняет функция XMLEncode.

Всего определено 5 служебных символов:


Название служебного символа

Вид служебного
символа

Обозначение
служебного символа

меньше

&lt;

больше

&gt;

двойная кавычка

&quot;

одинарная кавычка

&apos;

амперсанд

&

&amp;


Функция XMLEncode может применяться к некоторой строке S несколько раз.

Например, пусть S=«2<3<4».

Тогда:    XMLEncode(S)=«2&lt;3&lt;4»,
XMLEncode(2XMLEncode(S))=«&amp;lt;3&amp;lt;4».

Пусть известен результат – строка R – после нескольких применений функции XMLEncode. Напишите программу определения максимально возможного количества вызовов функции XMLEncode, чтобы в результате получилась именно строка R.


Ограничения

1 ≤ |R| ≤ 100000. Здесь |R| – длина строки R.


Входные данные

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


Выходные данные

Выходной файл должен содержать одно число – максимально возможное количество вызовов функции XMLEncode, либо –1, если строку могли преобразовывать бесконечно.

Примеры

Input

Output

Everybody knows that 2 < 3.

0

 

Input

Output

Everybody knows that 2 &lt; 3.

1

 


Статистика Послать на проверку Обсуждение задачи Автор/источник:
Задачи с соревнований и сборов / Чемпионат мира по программированию (ICPC) / Рыбинск-2011 /
989. A - Папа Карло 990. 991. C - Сортировка по сумме цифр 992. D - Римские числа 993. E - Символ и его тень
Задачи с соревнований и сборов / Чемпионат мира по программированию (ICPC) / Школьники-Рыбинск-2011 /
989. A - Папа Карло 990. 992. C - Римские числа 993. D - Символ и его тень 994. E - Магический_квадрат
 
время генерации 0.14 сек.
© Copyright ВоГУ, АВТ, Носов Д.А., Андрианов И.А.