/*
* 牛客链接:https://www.nowcoder.com/questionTerminal/3690a506d0374981863ca649d97b81b7?orderByHotValue=1&page=1&onlyReference=false
*
*/
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
private static ArrayList<String> list = new ArrayList<String>();
private static String str = new String();
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
while (input.hasNext()) {
int n = input.nextInt();
solve(str, list, 0, 0, n); //递归
System.out.print(list.get(0));
for (int i=1; i<list.size(); i++) {
System.out.print("," + list.get(i));
}
}
input.close();
}
private static void solve(String str, ArrayList<String> list, int nl, int nr, int n) {
// TODO Auto-generated method stub
if (nl >= n && nr >= n) {
list.add(str);
return;
}
if (nl < n) {
str += "(";
solve(str, list, nl+1, nr, n);
str = str.substring(0, str.length()-1);
}
if (nr < nl) {
str += ")";
solve(str, list, nl, nr+1, n);
str = str.substring(0, str.length()-1);
}
}
}