В Соединенных Штатах два противоположных направления движения на дороге разделены пунктирной желтой линией, если проезд разрешен, и двумя сплошными желтыми линиями, если проезд не разрешен.

(Только одна сторона может быть разбита, чтобы разрешить проход на этой стороне, и желтые линии могут означать другие вещи, такие как центральные или обратимые полосы, но нас не касается ни один из этих случаев.)
Напишите программу, которая в перспективе длины кодируются строки Pдля прохождения и Nдля не прохождения , и выводит версию ASCII соответствующей дороги. За исключением центральной линии, дорога всегда имеет один и тот же рисунок, что легко можно понять из приведенных ниже примеров.
Перед каждым Pи Nво входной строке будет положительное десятичное число . Это число определяет длину зоны прохождения или отсутствия зоны прохождения текущей части дороги.
Примеры
Ввод 12Nбудет производить 12 столбцов без проезжей части (все линии центра =):
____________
============
____________
На входе 12Pбудет получено 12 столбцов проходящей дороги ( - повторение центральной линии ):
____________
- - - - - -
____________
Передача и отсутствие прохождения могут быть объединены, например 4N4P9N7P1N1P2N2P:
______________________________
====- - =========- - - -=-==-
______________________________
Это 4 столбца без проходов, затем 4 без проходов , затем 9 без проходов и т. Д.
Обратите внимание, что зона прохождения всегда начинается с тире ( -) с левой стороны, а не с пробела ( ). Это обязательно.
Детали
- На входе никогда не будет двух
Nзон или двухPзон подряд. например4P5P, никогда не произойдет. - Вам не нужно поддерживать буквы без начального положительного числа. Обычная
Pвсегда будет1P, простаяNвсегда будет1N. - Могут быть задние пробелы, если они не выходят за пределы последней колонны дороги. Там может быть один дополнительный завершающий перевод строки.
- Вместо программы вы можете написать функцию, которая принимает закодированную строку длины строки и печатает или возвращает дорогу ASCII.
- Принимает ввод любым стандартным способом (stdin, командная строка, функция arg).
Самый короткий код в байтах побеждает. Tiebreaker - более ранний пост.