; nuts and bolts
(define (biggest bolts nuts)
; assume there exists exactly one bolt bitter than all nuts
(if (null? bolts) #f
(let loop ((bolts (cdr bolts)) (nuts nuts) (biggest (car bolts)))
(cond ((null? nuts) biggest)
((<= (car nuts) biggest)
(loop bolts (cdr nuts) biggest))
((null? bolts) #f)
(else (loop (cdr bolts) nuts (car bolts)))))))
(display (biggest '() '())) (newline)
(display (biggest '() '(4))) (newline)
(display (biggest '(4) '())) (newline)
(display (biggest '(1 4 2) '(3))) (newline)
(display (biggest '(7 8 9) '(5))) (newline)
(display (biggest '(1 2 3) '(5))) (newline)
OyBudXRzIGFuZCBib2x0cwoKKGRlZmluZSAoYmlnZ2VzdCBib2x0cyBudXRzKQogIDsgYXNzdW1lIHRoZXJlIGV4aXN0cyBleGFjdGx5IG9uZSBib2x0IGJpdHRlciB0aGFuIGFsbCBudXRzCiAgKGlmIChudWxsPyBib2x0cykgI2YKICAgIChsZXQgbG9vcCAoKGJvbHRzIChjZHIgYm9sdHMpKSAobnV0cyBudXRzKSAoYmlnZ2VzdCAoY2FyIGJvbHRzKSkpCiAgICAgIChjb25kICgobnVsbD8gbnV0cykgYmlnZ2VzdCkKICAgICAgICAgICAgKCg8PSAoY2FyIG51dHMpIGJpZ2dlc3QpCiAgICAgICAgICAgICAgKGxvb3AgYm9sdHMgKGNkciBudXRzKSBiaWdnZXN0KSkKICAgICAgICAgICAgKChudWxsPyBib2x0cykgI2YpCiAgICAgICAgICAgIChlbHNlIChsb29wIChjZHIgYm9sdHMpIG51dHMgKGNhciBib2x0cykpKSkpKSkKCihkaXNwbGF5IChiaWdnZXN0ICcoKSAnKCkpKSAobmV3bGluZSkKKGRpc3BsYXkgKGJpZ2dlc3QgJygpICcoNCkpKSAobmV3bGluZSkKKGRpc3BsYXkgKGJpZ2dlc3QgJyg0KSAnKCkpKSAobmV3bGluZSkKKGRpc3BsYXkgKGJpZ2dlc3QgJygxIDQgMikgJygzKSkpIChuZXdsaW5lKQooZGlzcGxheSAoYmlnZ2VzdCAnKDcgOCA5KSAnKDUpKSkgKG5ld2xpbmUpCihkaXNwbGF5IChiaWdnZXN0ICcoMSAyIDMpICcoNSkpKSAobmV3bGluZSk=