So I can understand the reasoning
the thing you are expected to do is to make a combinatoric product function, and this function has an amount of outputs equal to the product of input: so for `a = [3, 1, 2]` and the output:```py [0, 0, 0] [0, 0, 1] [1, 0, 0] [1, 0, 1] [2, 0, 0] [2, 0, 1]```there are 6 lists output, equal to the product 3\*1\*2 = 6 ("product" means the result of multiplication) the thing with for-loops is that when you nest them, you multiply the amount of loops being done:```py for x in range(WIDTH): for y in range(HEIGHT): ...```this loops WIDTH\*HEIGHT times this means: to get the correct amount of loops, you loop over range(3), and inside you loop over range(1), and inside you loop over range(2)