(import (chicken io)) (import (chicken string)) (import (chicken format)) (import srfi-1) (define (summap a b) (foldl + 0 (map a b))) (define (displayln x) (format #t "~s~%" x)) (define (split-line line) (let ((halves (string-split line "|"))) (map string-split halves))) (define (is-1478 pattern) (let ((len (string-length pattern))) (not (or (eq? len 5) (eq? len 6))))) (define (count-1478 parsed) (let-values (((patterns output) (apply values parsed))) (count is-1478 output))) (let* ((lines (read-lines)) (separated (map split-line lines))) (displayln (summap count-1478 separated)))