; m4 macros
(define (fact n d)
(if (< n (* d d))
(list n)
(if (zero? (modulo n d))
(cons d (fact (/ n d) d))
(fact n (+ d 1)))))
(define (factors n) (fact n 2))
(display (factors 32)) (newline)
(display (factors 35)) (newline)
(display (factors 87463)) (newline)
(display (factors 13290059)) (newline)