(define (max a b) (cond ((> a b) a b)))
(define (one-elem-list l) (and (list? l) (and (not (null? l)) (null? (cdr l)))))
(define (f l)
(define (go a b l)
(cond ((null? l) (max a b)
(one-elem-list (car l)) (go a (+ 1 b) (cdr l))
(go (max a b) 0 (cdr l)))))
(go 0 0 l))
(display (f '(1 1 1)))
(display (f '(1 (1) (1) 1 (1) ((1 1 1)) (1) (1) (1 1) (1) (1) 1 (1))))
KGRlZmluZSAobWF4IGEgYikgKGNvbmQgKCg+IGEgYikgYSBiKSkpCihkZWZpbmUgKG9uZS1lbGVtLWxpc3QgbCkgKGFuZCAobGlzdD8gbCkgKGFuZCAobm90IChudWxsPyBsKSkgKG51bGw/IChjZHIgbCkpKSkpCiAKKGRlZmluZSAoZiBsKQogICAgKGRlZmluZSAoZ28gYSBiIGwpCiAgICAgICAgKGNvbmQgKChudWxsPyBsKSAobWF4IGEgYikKICAgICAgICAgICAgICAob25lLWVsZW0tbGlzdCAoY2FyIGwpKSAoZ28gYSAoKyAxIGIpIChjZHIgbCkpCiAgICAgICAgICAgICAgKGdvIChtYXggYSBiKSAwIChjZHIgbCkpKSkpCiAgICAoZ28gMCAwIGwpKQogCihkaXNwbGF5IChmICcoMSAxIDEpKSkKKGRpc3BsYXkgKGYgJygxICgxKSAoMSkgMSAoMSkgKCgxIDEgMSkpICgxKSAoMSkgKDEgMSkgKDEpICgxKSAxICgxKSkpKQ==