(defun two-max (list)
(if (= 2 (length list))
(values (apply #'max list) (apply #'min list))
(multiple-value-bind (a b) (two-max (cdr list))
(let ((c (car list)))
(values (max a c) (max b (min c a)))))))
(print (multiple-value-list (two-max '(34 3 2 5 7 3 2 4 7 9 7 5 8 10 33 25 29))))
KGRlZnVuIHR3by1tYXggKGxpc3QpCiAgKGlmICg9IDIgKGxlbmd0aCBsaXN0KSkKICAgICAgKHZhbHVlcyAoYXBwbHkgIydtYXggbGlzdCkgKGFwcGx5ICMnbWluIGxpc3QpKQogICAgICAobXVsdGlwbGUtdmFsdWUtYmluZCAoYSBiKSAodHdvLW1heCAoY2RyIGxpc3QpKQoJKGxldCAoKGMgKGNhciBsaXN0KSkpCgkgICh2YWx1ZXMgKG1heCBhIGMpIChtYXggYiAobWluIGMgYSkpKSkpKSkKCihwcmludCAobXVsdGlwbGUtdmFsdWUtbGlzdCAodHdvLW1heCAnKDM0IDMgMiA1IDcgMyAyIDQgNyA5IDcgNSA4IDEwIDMzIDI1IDI5KSkpKQ==