(define (main args) (let ([n (read)] [ht (make-hash-table 'string=?)]) (let loop ([x 1]) (cond [(> (* x x) n) #f] [(zero? (remainder n x)) (hash-table-put! ht (string-append (number->string x) (number->string (quotient n x))) #t) (hash-table-put! ht (string-append (number->string (quotient n x)) (number->string x)) #t) (loop (+ x 1))] [else (loop (+ x 1))])) (print (hash-table-num-entries ht))) 0)