; nth item in a linked list
(define (nth n xs)
(if (null? xs)
(error 'nth "out of range")
(if (zero? n) (car xs)
(nth (- n 1) (cdr xs)))))
(display (nth 0 '(0 1 2 3 4))) (newline)
(display (nth 1 '(0 1 2 3 4))) (newline)
(display (nth 2 '(0 1 2 3 4))) (newline)
(display (nth 3 '(0 1 2 3 4))) (newline)
(display (nth 4 '(0 1 2 3 4))) (newline)
OyBudGggaXRlbSBpbiBhIGxpbmtlZCBsaXN0CgooZGVmaW5lIChudGggbiB4cykKICAoaWYgKG51bGw/IHhzKQogICAgICAoZXJyb3IgJ250aCAib3V0IG9mIHJhbmdlIikKICAgICAgKGlmICh6ZXJvPyBuKSAoY2FyIHhzKQogICAgICAgICAgKG50aCAoLSBuIDEpIChjZHIgeHMpKSkpKQoKKGRpc3BsYXkgKG50aCAwICcoMCAxIDIgMyA0KSkpIChuZXdsaW5lKQooZGlzcGxheSAobnRoIDEgJygwIDEgMiAzIDQpKSkgKG5ld2xpbmUpCihkaXNwbGF5IChudGggMiAnKDAgMSAyIDMgNCkpKSAobmV3bGluZSkKKGRpc3BsYXkgKG50aCAzICcoMCAxIDIgMyA0KSkpIChuZXdsaW5lKQooZGlzcGxheSAobnRoIDQgJygwIDEgMiAzIDQpKSkgKG5ld2xpbmUp