(define (append l1 l2)
(cond ((null? l1) l2)
(#t (cons (car l1) (append (cdr l1) l2)))))
(define (flatten lst)
(cond ((null? lst) '())
((atom? (car lst)) (cons (car lst) (flatten (cdr lst))))
(#t (append (flatten (car lst)) (flatten (cdr lst))))))
(display (flatten '(a (b c) (((d))))))
KGRlZmluZSAoYXBwZW5kIGwxIGwyKQoJKGNvbmQgKChudWxsPyBsMSkgbDIpCgkgICAgICAoI3QgKGNvbnMgKGNhciBsMSkgKGFwcGVuZCAoY2RyIGwxKSBsMikpKSkpCihkZWZpbmUgKGZsYXR0ZW4gbHN0KQoJKGNvbmQgKChudWxsPyBsc3QpICcoKSkKCSAgICAgICgoYXRvbT8gKGNhciBsc3QpKSAoY29ucyAoY2FyIGxzdCkgKGZsYXR0ZW4gKGNkciBsc3QpKSkpCgkgICAgICAoI3QgKGFwcGVuZCAoZmxhdHRlbiAoY2FyIGxzdCkpIChmbGF0dGVuIChjZHIgbHN0KSkpKSkpCihkaXNwbGF5IChmbGF0dGVuICcoYSAoYiBjKSAoKChkKSkpKSkpCg==