- def allMissing(nums): 
- 	result = [] 
- 	index = 0 
- 	while index < len(nums): 
- 		if nums[index] > 0 and not nums[index] == index+1: 
- 			nums[nums[index]-1], nums[index] = nums[index], nums[nums[index]-1] 
- 			if nums[index] == nums[nums[index]-1]: 
- 				nums[index] = -1 
- 				index += 1 
- 		else: 
- 			index += 1 
- 	for i in range(len(nums)): 
- 		if nums[i] < 0: 
- 			result.append(i+1) 
- 	return result 
-   
- print(allMissing([5,2,2,1,7,3,3])) 
- print(allMissing([5,2,2,1,2,2,2])) 
- print(allMissing([1,1,1,1,1,1,7])) 
- print(allMissing([1,1])) 
				ZGVmIGFsbE1pc3NpbmcobnVtcyk6CglyZXN1bHQgPSBbXQoJaW5kZXggPSAwCgl3aGlsZSBpbmRleCA8IGxlbihudW1zKToKCQlpZiBudW1zW2luZGV4XSA+IDAgYW5kIG5vdCBudW1zW2luZGV4XSA9PSBpbmRleCsxOgoJCQludW1zW251bXNbaW5kZXhdLTFdLCBudW1zW2luZGV4XSA9IG51bXNbaW5kZXhdLCBudW1zW251bXNbaW5kZXhdLTFdCgkJCWlmIG51bXNbaW5kZXhdID09IG51bXNbbnVtc1tpbmRleF0tMV06CgkJCQludW1zW2luZGV4XSA9IC0xCgkJCQlpbmRleCArPSAxCgkJZWxzZToKCQkJaW5kZXggKz0gMQoJZm9yIGkgaW4gcmFuZ2UobGVuKG51bXMpKToKCQlpZiBudW1zW2ldIDwgMDoKCQkJcmVzdWx0LmFwcGVuZChpKzEpCglyZXR1cm4gcmVzdWx0CgpwcmludChhbGxNaXNzaW5nKFs1LDIsMiwxLDcsMywzXSkpCnByaW50KGFsbE1pc3NpbmcoWzUsMiwyLDEsMiwyLDJdKSkKcHJpbnQoYWxsTWlzc2luZyhbMSwxLDEsMSwxLDEsN10pKQpwcmludChhbGxNaXNzaW5nKFsxLDFdKSk=