(define (System.out.println x) (begin (display x) (newline) ) ) (let ( (foo (symbol->string (read))) (bar (list 0 0)) (i 0) ) (let loop( (baz (list->string (list (string-ref foo 0)))) ) (begin (cond ((string=? baz "N") (set! bar (list (list-ref bar 0) (+ (list-ref bar 1) 1)))) ((string=? baz "E") (set! bar (list (+ (list-ref bar 0) 1) (list-ref bar 1)))) ((string=? baz "W") (set! bar (list (- (list-ref bar 0) 1) (list-ref bar 1)))) ((string=? baz "S") (set! bar (list (list-ref bar 0) (- (list-ref bar 1) 1)))) ) (if (= i (- (string-length foo) 1)) (System.out.println (sqrt (+ (expt (list-ref bar 0) 2) (expt (list-ref bar 1) 2)))) (begin (set! i (+ i 1)) (loop (list->string (list (string-ref foo i)))) ) ) ) ) )