Problem:
Score : 200 points

Problem Statement

Given is an integer N. Find the number of positive integers less than or equal to N that have an odd number of digits (in base ten without leading zeros).

Constraints

1 \leq N \leq 10^5

Input

Input is given from Standard Input in the following format:

N

Output

Print the number of positive integers less than or equal to N that have an odd number of digits.

Sample Input 1

11

Sample Output 1

9

Among the positive integers less than or equal to 11, nine integers have an odd number of digits: 1, 2, \ldots, 9.

Sample Input 2

136

Sample Output 2

46

In addition to 1, 2, \ldots, 9, another 37 integers also have an odd number of digits: 100, 101, \ldots, 136.

Sample Input 3

100000

Sample Output 3

90909

Solution in Common Lisp (SBCL 1.1.14) (judge verdict: Wrong Answer)

(defparameter N (read))

(defun get-order (num)
  (length (write-to-string num)))

(defun max-order-num (num)
  (- num 
     (1- (expt 10 
               (1- (get-order num))))))

(defun count-up (num)
  (labels ((f (n ord)
              (if (<= ord (get-order n))
                  0
                  (+ (* 9 (expt 10 (1- ord)))
                     (f n (+ ord 2))))))
          (f num 1)))

(format t "~a" (+ (max-order-num N)
                  (count-up N)))