#4174. 生成括号 普及−

时间限制:1000 ms 内存限制:128 MiB 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: root

题目描述

Paul 是一名数学专业的同学,在课余选修了 C++ 编程课,现在他能够自己写程序判断判断一个给定的由'('和')'组成的字符串是否是正确匹配的。可是他不满足于此,想反其道而行之,设计一个程序,能够生成所有合法的括号组合,请你帮助他解决这个问题。

输入格式

输入只有一行 ,代表生成括号的对数()。

输出格式

输出所有可能的并且有效的括号组合,按照字典序进行排列,每个组合占一行。

样例

样例输入

3

样例输出

((()))
(()())
(())()
()(())
()()()