You have two boxes, one is filled with 10 items and the other is empty. You are allowed to transfer items one at a time from one box to the other (transfers may to either way).
There are 2^10=1024 ways to split the items between the two boxes. Can you make all the ways without repetition using only the transfer rule described above?