시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
2 초 128 MB 588 107 80 23.881%

문제

괄호 문자열은 다음과 같이 정의 한다.

  1. 빈 문자열은 괄호 문자열이다.
  2. S가 괄호 문자열일 때, (S)도 괄호 문자열이다.
  3. S와 T가 괄호 문자열이라면, ST도 괄호 문자열이다.
  4. 모든 괄호 문자열은 위의 3개 규칙으로만 만들 수 있다.

이 문제에서는 괄호 문자열이 아닌 문자열이 나온다. 만약 문자열이 ‘(‘와 ‘)’로만 이루어져 있고, 괄호 문자열이 아니라면, 그 문자열을 괄호ㄴㄴ문자열이라고 한다.

길이가 N인 괄호ㄴㄴ문자열 중에 사전순으로 K번째인 문자열을 출력하는 프로그램을 작성하시오. 그러한 것이 없으면 -1을 출력한다. ‘(‘가 ‘)’보다 사전순으로 앞선다.

입력

첫째 줄에 N과 K가 주어진다. N은 50보다 작거나 같은 자연수이고, K는 2^N-1보다 작거나 같은 자연수 또는 0이다.

출력

첫째 줄에 문제의 정답을 출력한다.

예제 입력

4 4

예제 출력

())(

힌트

길이가 4이면서, 사전순으로 0번째인 괄호ㄴㄴ 문자열은 (((( 이다.

출처