Недавно математики Кукуляндии придумали новую бинарную операцию «звёздочка», аргументами которой являются последовательности.
Операция просто приписывает первую последовательность в конец второй. Например, (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». Обратите внимание на то, что в выражении не должно быть пробелов и все последовательности обязательно должны быть заключены в скобки.
Примеры
исходные данные | результат |
---|
4
3 4 2 1
| (1)*(2)*(3,4)
|
6
5 1 2 6 4 3
| IMPOSSIBLE
|
Автор задачи: Даниил Айзенштейн
Источник задачи: Ural SU Contest. Petrozavodsk Summer Session, August 2008