Python 3.12.1 (v3.12.1:2305ca5144, Dec  7 2023, 17:23:38) [Clang 13.0.0 (clang-1300.0.29.30)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> def generate_sequences(n, current_sequence=[]):
...     if n == 0:
...         print(current_sequence)  # or yield if needed
...         return
...     if n >= 1:
...         generate_sequences(n - 1, current_sequence + [1])
...     if n >= 2:
...         generate_sequences(n - 2, current_sequence + [2])
...
>>> generate_sequences(3)
[1, 1, 1]
[1, 2]
[2, 1]
>>> generate_sequences(4)
[1, 1, 1, 1]
[1, 1, 2]
[1, 2, 1]
[2, 1, 1]
[2, 2]
>>> generate_sequences(5)
[1, 1, 1, 1, 1]
[1, 1, 1, 2]
[1, 1, 2, 1]
[1, 2, 1, 1]
[1, 2, 2]
[2, 1, 1, 1]
[2, 1, 2]
[2, 2, 1]
>>>
