// output of ./demo/comb/involution-zero-map-rgs-demo.cc: // Description: //% Restricted growth strings (RGS): //% each digit a[k] is either zero or a[k] < k, a[a[k]] == 0, //% and there is at most one digit a[k] in the RGS. //% Same as: maps from {1, 2, 3, ..., n} to {0, 1, 2, 3, ..., n} //% such that f(x) < x and f(f(x)) == 0 and there is no t!=x with f(t) = f(x). //% Lexicographic order. //% Cf. OEIS sequence A000085. arg 1: 6 == n [RGS of length n] default=6 1: [ . . . . . . ] [ . . . . . . ] (0), (1), (2), (3), (4), (5) 2: [ . . . . . 1 ] [ . . . . . 5 ] (0, 5), (1), (2), (3), (4) 3: [ . . . . . 2 ] [ . . . . . 4 ] (0), (1, 5), (2), (3), (4) 4: [ . . . . . 3 ] [ . . . . . 3 ] (0), (1), (2, 5), (3), (4) 5: [ . . . . . 4 ] [ . . . . . 2 ] (0), (1), (2), (3, 5), (4) 6: [ . . . . . 5 ] [ . . . . . 1 ] (0), (1), (2), (3), (4, 5) 7: [ . . . . 1 . ] [ . . . . 4 . ] (0, 4), (1), (2), (3), (5) 8: [ . . . . 1 2 ] [ . . . . 4 4 ] (0, 4), (1, 5), (2), (3) 9: [ . . . . 1 3 ] [ . . . . 4 3 ] (0, 4), (1), (2, 5), (3) 10: [ . . . . 1 4 ] [ . . . . 4 2 ] (0, 4), (1), (2), (3, 5) 11: [ . . . . 2 . ] [ . . . . 3 . ] (0), (1, 4), (2), (3), (5) 12: [ . . . . 2 1 ] [ . . . . 3 5 ] (0, 5), (1, 4), (2), (3) 13: [ . . . . 2 3 ] [ . . . . 3 3 ] (0), (1, 4), (2, 5), (3) 14: [ . . . . 2 4 ] [ . . . . 3 2 ] (0), (1, 4), (2), (3, 5) 15: [ . . . . 3 . ] [ . . . . 2 . ] (0), (1), (2, 4), (3), (5) 16: [ . . . . 3 1 ] [ . . . . 2 5 ] (0, 5), (1), (2, 4), (3) 17: [ . . . . 3 2 ] [ . . . . 2 4 ] (0), (1, 5), (2, 4), (3) 18: [ . . . . 3 4 ] [ . . . . 2 2 ] (0), (1), (2, 4), (3, 5) 19: [ . . . . 4 . ] [ . . . . 1 . ] (0), (1), (2), (3, 4), (5) 20: [ . . . . 4 1 ] [ . . . . 1 5 ] (0, 5), (1), (2), (3, 4) 21: [ . . . . 4 2 ] [ . . . . 1 4 ] (0), (1, 5), (2), (3, 4) 22: [ . . . . 4 3 ] [ . . . . 1 3 ] (0), (1), (2, 5), (3, 4) 23: [ . . . 1 . . ] [ . . . 3 . . ] (0, 3), (1), (2), (4), (5) 24: [ . . . 1 . 2 ] [ . . . 3 . 4 ] (0, 3), (1, 5), (2), (4) 25: [ . . . 1 . 3 ] [ . . . 3 . 3 ] (0, 3), (1), (2, 5), (4) 26: [ . . . 1 . 5 ] [ . . . 3 . 1 ] (0, 3), (1), (2), (4, 5) 27: [ . . . 1 2 . ] [ . . . 3 3 . ] (0, 3), (1, 4), (2), (5) 28: [ . . . 1 2 3 ] [ . . . 3 3 3 ] (0, 3), (1, 4), (2, 5) 29: [ . . . 1 3 . ] [ . . . 3 2 . ] (0, 3), (1), (2, 4), (5) 30: [ . . . 1 3 2 ] [ . . . 3 2 4 ] (0, 3), (1, 5), (2, 4) 31: [ . . . 2 . . ] [ . . . 2 . . ] (0), (1, 3), (2), (4), (5) 32: [ . . . 2 . 1 ] [ . . . 2 . 5 ] (0, 5), (1, 3), (2), (4) 33: [ . . . 2 . 3 ] [ . . . 2 . 3 ] (0), (1, 3), (2, 5), (4) 34: [ . . . 2 . 5 ] [ . . . 2 . 1 ] (0), (1, 3), (2), (4, 5) 35: [ . . . 2 1 . ] [ . . . 2 4 . ] (0, 4), (1, 3), (2), (5) 36: [ . . . 2 1 3 ] [ . . . 2 4 3 ] (0, 4), (1, 3), (2, 5) 37: [ . . . 2 3 . ] [ . . . 2 2 . ] (0), (1, 3), (2, 4), (5) 38: [ . . . 2 3 1 ] [ . . . 2 2 5 ] (0, 5), (1, 3), (2, 4) 39: [ . . . 3 . . ] [ . . . 1 . . ] (0), (1), (2, 3), (4), (5) 40: [ . . . 3 . 1 ] [ . . . 1 . 5 ] (0, 5), (1), (2, 3), (4) 41: [ . . . 3 . 2 ] [ . . . 1 . 4 ] (0), (1, 5), (2, 3), (4) 42: [ . . . 3 . 5 ] [ . . . 1 . 1 ] (0), (1), (2, 3), (4, 5) 43: [ . . . 3 1 . ] [ . . . 1 4 . ] (0, 4), (1), (2, 3), (5) 44: [ . . . 3 1 2 ] [ . . . 1 4 4 ] (0, 4), (1, 5), (2, 3) 45: [ . . . 3 2 . ] [ . . . 1 3 . ] (0), (1, 4), (2, 3), (5) 46: [ . . . 3 2 1 ] [ . . . 1 3 5 ] (0, 5), (1, 4), (2, 3) 47: [ . . 1 . . . ] [ . . 2 . . . ] (0, 2), (1), (3), (4), (5) 48: [ . . 1 . . 2 ] [ . . 2 . . 4 ] (0, 2), (1, 5), (3), (4) 49: [ . . 1 . . 4 ] [ . . 2 . . 2 ] (0, 2), (1), (3, 5), (4) 50: [ . . 1 . . 5 ] [ . . 2 . . 1 ] (0, 2), (1), (3), (4, 5) 51: [ . . 1 . 2 . ] [ . . 2 . 3 . ] (0, 2), (1, 4), (3), (5) 52: [ . . 1 . 2 4 ] [ . . 2 . 3 2 ] (0, 2), (1, 4), (3, 5) 53: [ . . 1 . 4 . ] [ . . 2 . 1 . ] (0, 2), (1), (3, 4), (5) 54: [ . . 1 . 4 2 ] [ . . 2 . 1 4 ] (0, 2), (1, 5), (3, 4) 55: [ . . 1 2 . . ] [ . . 2 2 . . ] (0, 2), (1, 3), (4), (5) 56: [ . . 1 2 . 5 ] [ . . 2 2 . 1 ] (0, 2), (1, 3), (4, 5) 57: [ . . 2 . . . ] [ . . 1 . . . ] (0), (1, 2), (3), (4), (5) 58: [ . . 2 . . 1 ] [ . . 1 . . 5 ] (0, 5), (1, 2), (3), (4) 59: [ . . 2 . . 4 ] [ . . 1 . . 2 ] (0), (1, 2), (3, 5), (4) 60: [ . . 2 . . 5 ] [ . . 1 . . 1 ] (0), (1, 2), (3), (4, 5) 61: [ . . 2 . 1 . ] [ . . 1 . 4 . ] (0, 4), (1, 2), (3), (5) 62: [ . . 2 . 1 4 ] [ . . 1 . 4 2 ] (0, 4), (1, 2), (3, 5) 63: [ . . 2 . 4 . ] [ . . 1 . 1 . ] (0), (1, 2), (3, 4), (5) 64: [ . . 2 . 4 1 ] [ . . 1 . 1 5 ] (0, 5), (1, 2), (3, 4) 65: [ . . 2 1 . . ] [ . . 1 3 . . ] (0, 3), (1, 2), (4), (5) 66: [ . . 2 1 . 5 ] [ . . 1 3 . 1 ] (0, 3), (1, 2), (4, 5) 67: [ . 1 . . . . ] [ . 1 . . . . ] (0, 1), (2), (3), (4), (5) 68: [ . 1 . . . 3 ] [ . 1 . . . 3 ] (0, 1), (2, 5), (3), (4) 69: [ . 1 . . . 4 ] [ . 1 . . . 2 ] (0, 1), (2), (3, 5), (4) 70: [ . 1 . . . 5 ] [ . 1 . . . 1 ] (0, 1), (2), (3), (4, 5) 71: [ . 1 . . 3 . ] [ . 1 . . 2 . ] (0, 1), (2, 4), (3), (5) 72: [ . 1 . . 3 4 ] [ . 1 . . 2 2 ] (0, 1), (2, 4), (3, 5) 73: [ . 1 . . 4 . ] [ . 1 . . 1 . ] (0, 1), (2), (3, 4), (5) 74: [ . 1 . . 4 3 ] [ . 1 . . 1 3 ] (0, 1), (2, 5), (3, 4) 75: [ . 1 . 3 . . ] [ . 1 . 1 . . ] (0, 1), (2, 3), (4), (5) 76: [ . 1 . 3 . 5 ] [ . 1 . 1 . 1 ] (0, 1), (2, 3), (4, 5) ct=76