proper_divisors(n) := disjoin(n, divisors(n))$ for i from 1 thru 10 do sprint(i, ":", proper_divisors(i))$ pdivcount(n) := cardinality(proper_divisors(n))$ block( maxdivs: 1, nmax: 1, for i from 1 thru 20000 do( divs: pdivcount(i), if divs > maxdivs then block( maxdivs: divs, nmax: i ) ), sprint(nmax, "has", maxdivs, "proper divisors.") )$