Нещодавно математики Кукуляндії придумали нову бінарну операцію «зірочка», аргументами якої є послідовності. Операція просто дописує першу послідовність у кінець другої. Наприклад, (2, 4) * (1, 3) = (1, 3, 2, 4). Операції «зірочка» у виразі виконуються зліва направо, але цей порядок можна змінити за допомогою дужок (операції у дужках виконуються раніше). Наприклад, (3) * ((1, 5) * (2, 7)) = (2, 7, 1, 5, 3).
Зауважте, що якщо елемент послідовності є виразом, то спочатку обчислюється значення цього виразу, а потім у всій послідовності забираються внутрішні дужки. Наприклад, (1, ((2) * (3)), 4) = (1, (3, 2), 4) = (1, 3, 2, 4).
Тепер кукуляндці хочуть використати цю операцію для створення перестановок. Точніше, вони хочуть отримати задану перестановку з перестановки (1, 2, ..., N), додавши дужки, коми та зірочки й обчисливши результат виразу.
Ось формальне визначення виразу:
<вираз> ::= <послідовність> [* <послідовність> ...]
<послідовність> ::= ( <елемент> [, <елемент> ...] )
<елемент> ::= <число> | <вираз>
<число> ::= 1 | 2 | ...| N
У першому рядку записано число (1 \leq N \leq 10000). У другому рядку записано перестановку чисел від до . Числа в рядку розділено пропуском.
Виведіть єдиний рядок — коректний вираз, результат якого дає задану перестановку. Числа від до повинні йти у зростаючому порядку. Довжина виразу не повинна перевищувати символів. Якщо шуканого виразу не існує, виведіть IMPOSSIBLE. Зверніть увагу, що у виразі не повинно бути пропусків, і всі послідовності обов'язково повинні бути взяті у дужки.
Приклад 1