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