DRAFTMAN

  • Умный чертежник
    THE CLEVER DRAFTSMAN

Описание
Фирма "Макрохард" изобрела новое устройство с целью облегчить труд людей, кому по долгу службы приходится чертить много чертежей, а также школьников, изучающих черчение. Это устройство представляет собой крошечного робота, который умеет ползать по клетчатому листу бумаги. При этом в начале он обязательно должен быть расположен на пересечении линий сетки.

Этот робот умеет выполнять программу, которая может состоять из команд E, W, N, S - переместиться по листу в соседнюю вершину сетки вправо, влево, вперед, назад соответственно. Перемещаясь в соседний узел сетки, робот оставляет за собой ровную линию. При этом по правилам техники безопасности ему категорически запрещается проводить дважды одну и ту же линию, так как при попытке провести линию второй раз, он очень сильно пачкается в своих же собственных чернилах (они очень долго сохнут), и выходит из строя.

При этом, правда, через одну и ту же вершину сетки робот может проходить дважды. Возможно два случая (более толстой линией показано, как мы проезжаем через вершину в первый раз, более тонкой - во второй).



В первом случае мы оба раза проезжаем через вершину "прямо" (будем называть это самопересечением маршрута), а во втором случае - оба раза "поворачиваем" (это будем называть самокасанием).

Разработчики также установили, что в случае самопересечения маршрута робот пачкается в своих чернилах сильнее, чем в случае самокасания, и, если самопересечения встречаются часто, быстро выходит из строя. Поэтому они решили написать для него внутренний оптимизатор программы.

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

Технические условия:

Имя входного файла: input.in
Имя выходного файла: output.out
Максимальное время работы на одном тесте:2 секунды
Максимальный объем используемой памяти:8 мегабайт

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

В первой строке входного файла содержится программа для робота. Таким образом, в первой строке входного файла могут встречаться только символы E, W, N, S, а также пробельные символы, которые должны игнорироваться. Общая длина строки (включая пробельные символы) не превышает 200 символов.

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

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

Пример:

INPUT.TXT
EENWSSWNN

OUTPUT.TXT
ENESWSWNN