З великим крахом універсальної економіки попит на планети на замовлення зросли. Маграфянам доводилося доглядати за стабільнішими доходами також від ширшого класу клієнтів. Тому вони винайшли свій власний гірський ланцюг (або короткі хаос-о-гори) для людей з меншим бюджетом, які не могли дозволити собі повноцінну планету.
Гори будувати за планом замовника (він же рядка цифр і точок) і поставляється з використанням ASCII-арт (що складається з ,
/
, \
, ^
і v
).
Завдання
Напишіть повну програму, яка приймає введення (один рядок) або з STDIN, або як аргумент та виводить у STDOUT. Ця головоломка - гольф з кодом, тому, будь ласка, покажіть спробу гольфу.
Вхідні дані
Рядок крапок і цифр, що слугують основою гірського ланцюга. Кожна струна рівно стільки, скільки потрібно для підтримки гір, і кожен пік задається цифрою замість крапки, що вказує висоту вершини.
Вихід
Версія ascii гірського ланцюга.
- Кожна цифра на вході представляє рівно один пік (
^
) рівно на висоті, зазначеній цифрою (тобто 9 - найвища висота). - У виході не повинно бути додаткових піків (тобто в місцях, де на вході є крапка).
- Гори мають трикутну форму, тобто нахили створюються з використанням
/
і\
символами. - Проходи, де дві гори перекриваються, формуються за допомогою символу
v
. - Ні зайвих рядків, ні пустих рядків.
- Лінії прокладки з проміжками проміжків необов’язкові.
Ви можете припустити, що наданий ввід є дійсним, тобто завжди існує рішення відповідно до правил (наприклад, введення 13..
не призведе до дійсної конфігурації і може бути проігноровано). Більше того, з кожного боку є рівно стільки крапок, що гори не повинні бути обрізані.
Приклади
Перший рядок показує вхід, всі інші рядки складають бажаний вихід. (Насправді гори виглядають набагато краще на моїй консолі, ніж тут.)
1
^
11
^^
1.2.
^
^/ \
.2.3..
^
^/ \
/ \
.2..3..
^
^ / \
/ v \
...4...3...3..
^
/ \ ^ ^
/ \/ \ / \
/ v \
1
, це \n\n\n\n\n\n\n\n^
дозволено?