zero factorial, why 0! should be 1, 4 reasons