add challenge23, extract ProperDivisors to utils