num = [1, 2, 3, 3]
def fullnum(nums):
if len(nums) == 0:
return None
elif len(nums) == 1:
return [nums]
res = []
left = nums[0]
right = fullnum(nums[1:])
for i in right:
for j in range(len(i)+1):
result = i[:j] + [left] + i[j:]
if result not in res:
res.append(result)
return res
print(fullnum(num))