Если вы используете C++, пожалуйста, выберите в качестве компилятора при отправке решения: C++14 (GCC 6-32) или C++17 (GCC 7-32). ×

E. Артур и скобки
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
128 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Обратите внимание на нестандартное ограничение по памяти.

Недавно Артур с Сашей изучили правильные скобочные последовательности. Артур отлично понял эту тему и ему настолько ею проникся, что завёл себе любимую правильную скобочную последовательность длины 2n. В отличие от Артура, Саша очень плохо понял тему про правильные скобочные последовательности, и назло Артуру сломал его любимую правильную скобочную последовательность.

Все, что помнит Артур о своей любимой последовательности — это для каждой открывающейся скобки '(' примерное расстояние до соответствующей ей закрывающейся ')'. Для i-й открывающейся скобки он помнит отрезок [li, ri], в котором лежит расстояние до соответствующей ей закрывающейся.

Формально говоря, для i-й открывающейся скобки (при их нумерации слева направо) известно, что разность позиций соответствующей ей закрывающейся скобки и её собственной позиции лежит в отрезке [li, ri].

Помогите Артуру восстановить его любимую правильную скобочную последовательность!

Входные данные

В первой строке записано целое число n (1 ≤ n ≤ 600), количество открывающихся скобок в любимой правильной скобочной последовательности Артура.

В следующих n строках записаны числа li и ri (1 ≤ li ≤ ri < 2n), обозначающие отрезок, в котором лежит расстояние от i-й открывающейся скобки до соответствующей ей закрывающейся.

Описания отрезков заданы в том порядке, в котором открывающиеся скобки встречаются в любимой последовательности Артура, если перечислять их слева направо.

Выходные данные

Если по описанным данным возможно восстановить правильную скобочную последовательность, выведите любой возможный вариант.

Если же Артур что-то напутал, и последовательностей, соответствующих данной информации нет, выведите единственную строку «IMPOSSIBLE» (без кавычек).

Примеры
Входные данные
4
1 1
1 1
1 1
1 1
Выходные данные
()()()()
Входные данные
3
5 5
3 3
1 1
Выходные данные
((()))
Входные данные
3
5 5
3 3
2 2
Выходные данные
IMPOSSIBLE
Входные данные
3
2 3
1 4
1 4
Выходные данные
(())()