SOLDIERS

  • Новобранцы
    SOLDIERS

На первом построении вновь призванные в армию солдаты построились в шеренгу. После небольшого объяснения им правил выполнения в строю различных команд последовала команда «налево». В результате исполнения этой команды некоторые солдаты повернулись налево, а некоторые — направо. Солдаты, которые оказались лицом к лицу со своим соседом, сразу поняли, что совершили ошибку. Чтобы ее исправить, каждый из них опять быстро повернулся на 180 градусов. Если названная ситуация затем опять повторялась, то есть, в каких-то парах солдаты оказывались лицом друг к другу, то такие солдаты снова поворачивались на 180 градусов. Эта процедура продолжалась до тех пор, пока в шеренге была хотя бы одна пара солдат, стоящих лицом друг к другу.

Требуется написать программу SOLDIERS, которая по расположению солдат сразу после исполнения команды «налево» вычисляет число пар солдат, совершивших в последствии развороты на 180 градусов в соответствии с вышеописанной процедурой.  

Технические требования:

Входной файл: INPUT.TXT
Выходной файл:
OUTPUT.TXT
Ограничение по времени тестирования:
5 секунд на тест

Формат входных данных:  входной файл INPUT.TXT состоит из двух строк. В первой строке этого файла записано число N (1≤N≤30000) - количество солдат в шеренге. Во второй строке содержится последовательность из N символов, каждый из которых может быть либо символом "<" либо символом ">" (символ "<" означает солдата, повернувшегося налево, символ ">" - солдата, повернувшегося направо).

Формат выходных данных:  выходной файл OUTPUT.TXT должен содержать либо одно число - количество развернувшихся пар, либо слово NO, если процесс бесконечен.

Пример:

INPUT.TXT
6
>><<><

OUTPUT.TXT
7

В таблице для этого примера приведены расположения солдат в шеренге после очередного завершения разворотов на 180 градусов соответствующих пар солдат

 

Расположение солдат

Количество пар, которые должны развернуться

Комментарий

>><<><

2

Расположение солдат сразу после исполнения команды «налево»

><><<>

2

Расположение солдат после первого завершения разворотов соответствующих пар

<><><>

2

Расположение солдат после второго завершения разворотов соответствующих пар

<<><>>

1

Расположение солдат после третьего завершения разворотов соответствующих пар

<<<>>>

Общее количество развернувшихся пар 7

Конечное расположение солдат