eolymp
bolt
Try our new interface for solving problems
Problems

Неправильные скобочные последовательности

Неправильные скобочные последовательности

Недавно в одной из параллелей ЛКШат попросили написать программу, находящую \textbf{k}-ую в лексикографическом порядке правильную скобочную последовательность. Напомним, что правильной скобочной последовательностью является последовательность скобок, которую можно получить, выкинув из какого-то арифметического выражения всё кроме скобок. Такая задача оказалась очень простой для ЛКШат, и преподаватель придумал новую задачу - найти \textbf{k}-ую в лексикографическом порядке неправильную скобочную последовательность из \textbf{n} скобок. А Вы справитесь с этой задачей? Помните, что открывающая скобка меньше закрывающей. \InputFile В первой строке содержатся два целых числа \textbf{n} и \textbf{k} (\textbf{1} ≤ \textbf{n} ≤ \textbf{2000}; \textbf{1} ≤ \textbf{k} ≤ \textbf{10^18}). \OutputFile Если \textbf{k}-ой неправильной скобочной последовательности длины \textbf{n} не существует, то выведите в выходной файл \textbf{-1}. Иначе выведите искомую \textbf{k}-ую неправильную скобочную последовательность.
Time limit 1 second
Memory limit 122.17 MiB
Input example #1
3 1
Output example #1
(((
Input example #2
4 5
Output example #2
())(
Input example #3
4 20
Output example #3
-1
Author Антон Ахи
Source Тринадцатая международная командная олимпиада школьников ЛКШ среди параллелей A, A' и B