#include <stdio.h>
#include <deque>
int arr[50], ptr=0;
int main() {
long long n, k;
scanf("%lld %lld", &n, &k);
std::deque<char> dq;
if(k>=1<<(n/2-1)) printf("-1"); // 개수 : 2^(n/2-1)
else {
int ptr=0; // arr 길이 n/2-1
long long mod=1<<(n/2-1);
while(mod) { //2진수 만들기
arr[ptr++]=k/mod;
k%=mod;
mod/=2;
}
for(int i=0; i<ptr; i++) {
if(arr[i]==1) {
while(!dq.empty()) {
printf("%c", dq.front());
dq.pop_front();
}
dq.push_back('(');
dq.push_back(')');
}
else {
dq.push_front('(');
dq.push_back(')');
}
}
while(!dq.empty()) {
printf("%c", dq.front());
dq.pop_front();
}
}
}
To embed this project on your website, copy the following code and paste it into your website's HTML: