started problem 164
solved 164
optimized 95: precalculated proper divisors