(for ([n (in-port)])
  (let ([root (sqrt n)])
    (displayln (if (exact? root)
                   (* root 2)
                   (for/first ([div (range (exact-floor root) 0 -1)]
                               #:when (= 0 (remainder n div)))
                     (+ div (quotient n div)))))))