Mistrzostwa Polski Szkół Średnich w Programowaniu Zespołowym 2023

Old page Regulations Schedule RODO info Ranking

Problem description


K-te nawiasowanie
(kte-nawiasowanie)
Memory limit: 64 MB
Time limit: 1.00 s

Zadanie jest krótkie, choć niekoniecznie przyjemne. Wypisując wszystkie poprawne nawiasowania długości 2N w kolejności leksykograficznej (zakładamy, że nawias otwierający poprzedza nawias zamykający w alfabecie), jakie byłoby K-te nawiasowanie na tej liście?

Napisz program, który: wczyta długość oraz numer nawiasowania, wyznaczy i wypisze K-te leksykograficznie nawiasowanie długości 2N.

Wejście

W pierwszym (jedynym) wierszu wejścia znajdują się dwie liczby naturalne N oraz K, oddzielone pojedynczym odstępem. Określają one kolejno: połowę długości nawiasowania (albo po prostu oczekiwaną liczbę nawiasów otwierających) oraz numer szukanego nawiasowania. Nawiasowania numerujemy kolejnymi liczbami naturalnymi zaczynając od 1.

Wyjście

W pierwszym (jedynym) wierszu wyjścia powinno się znaleźć szukane nawiasowanie.

Ograniczenia

1 ≤ N ≤ 100 000, 1 ≤ K ≤ 1018.

Przykład

Input Output
3 4
()(())