(define (read-number) (string->number (read-line))) (let ((n (read-number))) (define vec (make-vector (+ n 1) -1)) (let loop ((i 1) (count 1)) (cond ((and (<= 1 i) (<= i n) (= (vector-ref vec i) -1)) (vector-set! vec i count) (loop (+ i (logcount i)) (+ count 1)) (loop (- i (logcount i)) (+ count 1))))) (print (vector-ref vec n)))