// output of ./demo/comb/paren-demo.cc: // Description: //% Generate all well-formed pairs of parentheses in co-lexicographic order. arg 1: 5 == k [Number of paren pairs >=2] default=5 1: ((((())))) 11111..... [ . 1 2 3 4 ] 2: (((()()))) 1111.1.... [ . 1 2 3 3 ] 3: ((()(()))) 111.11.... [ . 1 2 2 3 ] 4: (()((()))) 11.111.... [ . 1 1 2 3 ] 5: ()(((()))) 1.1111.... [ . . 1 2 3 ] 6: (((())())) 1111..1... [ . 1 2 3 2 ] 7: ((()()())) 111.1.1... [ . 1 2 2 2 ] 8: (()(()())) 11.11.1... [ . 1 1 2 2 ] 9: ()((()())) 1.111.1... [ . . 1 2 2 ] 10: ((())(())) 111..11... [ . 1 2 1 2 ] 11: (()()(())) 11.1.11... [ . 1 1 1 2 ] 12: ()(()(())) 1.11.11... [ . . 1 1 2 ] 13: (())((())) 11..111... [ . 1 . 1 2 ] 14: ()()((())) 1.1.111... [ . . . 1 2 ] 15: (((()))()) 1111...1.. [ . 1 2 3 1 ] 16: ((()())()) 111.1..1.. [ . 1 2 2 1 ] 17: (()(())()) 11.11..1.. [ . 1 1 2 1 ] 18: ()((())()) 1.111..1.. [ . . 1 2 1 ] 19: ((())()()) 111..1.1.. [ . 1 2 1 1 ] 20: (()()()()) 11.1.1.1.. [ . 1 1 1 1 ] 21: ()(()()()) 1.11.1.1.. [ . . 1 1 1 ] 22: (())(()()) 11..11.1.. [ . 1 . 1 1 ] 23: ()()(()()) 1.1.11.1.. [ . . . 1 1 ] 24: ((()))(()) 111...11.. [ . 1 2 . 1 ] 25: (()())(()) 11.1..11.. [ . 1 1 . 1 ] 26: ()(())(()) 1.11..11.. [ . . 1 . 1 ] 27: (())()(()) 11..1.11.. [ . 1 . . 1 ] 28: ()()()(()) 1.1.1.11.. [ . . . . 1 ] 29: (((())))() 1111....1. [ . 1 2 3 . ] 30: ((()()))() 111.1...1. [ . 1 2 2 . ] 31: (()(()))() 11.11...1. [ . 1 1 2 . ] 32: ()((()))() 1.111...1. [ . . 1 2 . ] 33: ((())())() 111..1..1. [ . 1 2 1 . ] 34: (()()())() 11.1.1..1. [ . 1 1 1 . ] 35: ()(()())() 1.11.1..1. [ . . 1 1 . ] 36: (())(())() 11..11..1. [ . 1 . 1 . ] 37: ()()(())() 1.1.11..1. [ . . . 1 . ] 38: ((()))()() 111...1.1. [ . 1 2 . . ] 39: (()())()() 11.1..1.1. [ . 1 1 . . ] 40: ()(())()() 1.11..1.1. [ . . 1 . . ] 41: (())()()() 11..1.1.1. [ . 1 . . . ] 42: ()()()()() 1.1.1.1.1. [ . . . . . ] ct = 42