Вы можете перебрать n от 1 до 65535, а затем сопоставить двоичный эквивалент с вашим массивом, который будет самым простым и на 100% действительно уникальным, и все возможности будут включены.
Например, для m1-> 0: [[0,0,0,0], [0,0,0,0], [0,0,0,0], [0,0,0,0]] для m2-> 1: [[0,0,0,0], [0,0,0,0], [0,0,0,0], [0,0,0,1]]
----------------------------------------------------
----------------------------------------------- upto n
для m65536->65535: [[1,1,1,1], [1,1,1,1], [1,1,1,1], [1,1,1,1]]