(define (digits x) (let loop ((n x) (ls '())) (if (< n 10) (cons n ls) (loop (quotient n 10) (cons (modulo n 10) ls))))) (define (f ls) (if (= 1 (length ls)) (car ls) (f (map (lambda (x y) (+ (modulo (+ x y) 10) (quotient (+ x y) 10))) (cdr ls) ls)))) (define (input->list) (let loop ((line (read)) (ls '())) (if (eof-object? line) (cdr (reverse ls)) (loop (read) (cons line ls))))) (define (MAIN) (for-each (lambda (ans) (begin (display ans) (newline))) (map (lambda (x) (f (digits x))) (input->list)))) (MAIN)