До войны Вася был бухгалтером, он один из немногих, кто умеет пользоваться компьютером, и поэтому программистом назначили именно его.
Все мы знаем, что в программах часто приходится хранить наборы целых чисел. Например, ребро в задаче про взвешенный ориентированный граф может характеризоваться тремя числами: номер вершины-начала, номер вершины-конца и вес ребра. Вот и Вася столкнулся с такой проблемой, пытаясь представить в своей программе характеристки недавно разработанного робота.
Вася — не программист, поэтому он спросил у своего друга Гены, как удобнее хранить n целых чисел. Раньше Гена писал на языке X-- и поэтому умеет пользоваться только типами из этого языка. Определим понятие типа в языке X--:
- Во-первых, типом является строка «int».
- Во-вторых, типом является строка начинающаяся с «pair», после которой в треугольных скобках через запятую указаны ровно два других типа языка X--. В этой записи нет пробелов.
- Никакие другие строки типом не являются.
Более формально: type := int | pair<type,type>. Например, для ребер графа Гена использует тип pair<int,pair<int,int>>.
Гена с радостью помог Васе, он продиктовал ему тип языка X--, который хранит n целых чисел. К сожалению, Гена торопился и не произносил знаков препинания. Теперь Гена уже ушел, а Вася все никак не может расставить знаки препинания, чтобы получить тип языка X--.
Помогите Васе, расставьте знаки препинания так, чтобы получился корректный тип языка X--, или сообщите, что сделать это невозможно.
Выходные данные
Если можно расставить знаки препинания так, чтобы получился корректный тип языка X--, выведите единственную строку обозначающую полученный тип. Иначе выведите «Error occurred» (без кавычек). Запись типа не должна содержать внутри себя лишних пробелов и других символов.
Гарантируется, что если такой тип существует, то он единственен.
Обратите внимание, что нужно вывести тип, произнесенный Геной (если такой существует), а не любой, в котором помещается n значений.