def gen(n, count, stack, ans): if count == n // 2 and len(stack) == 0: print ans return if count < n // 2: gen(n, count + 1, stack + '(', ans + '(') gen(n, count + 1, stack + '[', ans + '[') if len(stack) > 0: if stack[-1] == '(': gen(n, count, stack[:-1], ans + ')') if stack[-1] == '[': gen(n, count, stack[:-1], ans + ']') N = int(input()) gen(N, 0, "", "")