(define (main args) (let ([n (read)] [tbl (make-hash-table)]) (define (seq x) (cond [(zero? x) 1] [(hash-table-exists? tbl x) (hash-table-get tbl x)] [else (let ([y (+ (seq (quotient x 3)) (seq (quotient x 5)))]) (hash-table-put! tbl x y) y)])) (print (seq n)) ) 0)