Confusing requirements, but we now handle n < 0 with a more appropriate message, but apparently they want to treat 0 and 1 like 'negative numbers'.