Зірочка
Нещодавно математики Кукуляндії придумали нову бінарну операцію "зірочка", аргументами якої є послідовності. Операція просто дописує першу послідовність у кінець другої. Наприклад,(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, 2, …, N), дописавши дужки, коми та зірочки та обчисливши значення отриманого виразу.
Наведемо формальне визначення виразу.
<вираз> ::= <послідовність>[*<послідовність>…]
<послідовність> ::= (<елемент>[,<елемент>…])
<елемент> ::= <число> | <вираз>
<число> ::= 1|2|…|N
Вхідні дані
У першому рядку записано число N (1 ≤ N ≤ 10000). У другому рядку записана перестановка чисел від 1 до N. Числа у рядку відокремлено пропуском.
Вихідні дані
Виведіть єдиний рядок — коректний вираз, у результаті обчислення значення якого отримається дана перестановка. При цьому у виразі числа від 1 до N повинні йти у зростаючому порядку. Довжина виразу не повинна перевищувати 100000 символів. Якщо шуканого виразу не існує, виведіть "IMPOSSIBLE". Зверніть увагу на те, що у виразі не повинно бути пропусків і усі послідовності обов'язково повинні бути взятими у дужки.