(define (divisor n) (let loop ([i 1] [l '()]) (cond [(> (* i i) n) l] [(zero? (remainder n i)) (if (= i (quotient n i)) (loop (+ i 1) (cons i l)) (loop (+ i 1) (cons i (cons (quotient n i) l))))] [else (loop (+ i 1) l)]))) (define (solve n) (apply + (divisor n))) (define (main args) (let ([n (read)]) (print (solve n))) 0)