(import (scheme base)
        (chicken base))

(define (read-eggs file)
  (with-input-from-file file
    (lambda ()
      (let loop ((eggs '()))
       (let ((egg (read)))
        (if (eof-object? egg)
            eggs
            (loop (cons (car egg) eggs))))))))

(let ((eggs5 (read-eggs "release/5/egg-locations"))
      (eggs6 (read-eggs "release/6/egg-locations")))
  (let loop ((eggs5 eggs5)
             (nof-eggs5 0)
             (nof-eggs6 0))
    (if (null? eggs5)
        (print
          nof-eggs6 " / " nof-eggs5
          " (= " (exact->inexact (* 100 (/ nof-eggs6 nof-eggs5))) "%)")
        (loop (cdr eggs5) (add1 nof-eggs5) (if (member (car eggs5) eggs6)
                                             (add1 nof-eggs6)
                                             nof-eggs6)))))
