#include<bits/stdc++.h>
#define endl '\n'
using namespace std;
using ll = long long;
int main() {
ios::sync_with_stdio(false); cin.tie(0);
int n;
cin >> n;
if(n & 1) return 0;
auto rec = [&](auto&& self, int i, int open1, int close1, int open2, int close2, string &s1) -> void{
if(i == n) {
if(open1 == close1 && open2 == close2) cout << s1 << endl;
return;
}
if(open1 < (n >> 1)) {
s1 += '(';
self(self, i + 1, open1 + 1, close1, open2, close2, s1);
s1.pop_back();
}
if(open1 > close1) {
s1 += ')';
self(self, i + 1, open1, close1 + 1, open2, close2, s1);
s1.pop_back();
}
if(open2 < (n >> 1)) {
s1 += '[';
self(self, i + 1, open1, close1, open2 + 1, close2, s1);
s1.pop_back();
}
if(open2 > close2) {
s1 += ']';
self(self, i + 1, open1, close1, open2, close2 + 1, s1);
s1.pop_back();
}
};
string s1 = "";
rec(rec, 0, 0, 0, 0, 0, s1);
return 0;
}