(define n (string->number (read-line))) (define v (make-vector 10 0)) (letrec* ((get-data (lambda (n a) (if (zero? n) (reverse a) (get-data (- n 1) (cons (string-split (read-line) " ") a))))) (a (get-data n '())) (check (lambda (a) (unless (null? a) (begin (if (equal? (cadr (cdddr (car a))) "NO") (for-each (lambda (x) (vector-set! v (string->number x) -1)) (reverse (cdr (reverse (car a))))) (for-each (lambda (x) (vector-set! v (string->number x) (+ (vector-ref v (string->number x)) 1))) (reverse (cdr (reverse (car a)))))) (check (cdr a)))))) (get-result (lambda (n mv mi) (let* ((v (vector-ref v n)) (b (< mv v))) (if (eq? n 9) (if b n mi) (get-result (+ n 1) (if b v mv) (if b n mi))))))) (check a) (print (get-result 0 (vector-ref v 0) 0)))