(define (sum lis) (if (null? lis) nil (cons (apply + (car lis)) (sum (cdr lis))))) (define (max lis) (fold (lambda (a b) (if (> a b) a b)) 0 lis)) (define (filter-k callback lis) (if (null? lis) nil (cons (callback (car lis)) (filter-k callback (cdr lis))))) (define (ritoku li) (let ((s (max li))) (cons s (filter-k (lambda (a) (eq? a s)) li)))) (sum (list (list 1 2 3) (list 4 5 6) (list 7 8 9))) (max (sum (list (list 1 2 3) (list 4 5 6) (list 7 8 9)))) (ritoku (sum (list (list 1 2 3) (list 4 5 6) (list 7 8 9))))