(define (label organigram) (car organigram))
(define (takken organigram) (cdr organigram)) 

(define (display-n n d)
  (cond ((> n 0) (display d)
                 (display-n (- n 1) d))))
 
(define (print-lijn aantalblanco tekst)
  (display-n aantalblanco " ")
  (display tekst)
  (newline))


(define (print-vanaf organigram labeltje)
  (define (print-vanaf organigram labeltje)
    (if (eq? (label organigram) labeltje) 
        (printer-in organigram 4)
        (print-vanaf-in (takken organigram) label)))
  (define (print-vanaf-in organigram label)
    (if (null? organigram)
        #f
        (or (print-vanaf (label organigram) labeltje) (print-vanaf-in (cdr organigram) label))))
  (define (printer organigram x)
    (print-lijn x (label organigram))
    (printer-in (cdr organigram) (+ x 4)))
  (define (printer-in organigram x)
    (if (not (null? organigram))
        (begin (printer (label organigram) x) (printer-in (cdr organigram) (+ x 4)))))
  (print-vanaf organigram labeltje))