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 Java8 (OpenJDK 1.8.0) (judge verdict: Wrong Answer)

import java.util.*;
import java.lang.*;
import java.util.stream.*;

public class Main {

    public static int calculate(String n, int sentou) {
        int total = 0;
        double pow;

        for(int i = n.length(); i > 1; i-=2) {
            pow = Math.pow(10, i - 1);
            int gensan = (int) pow * sentou;
            System.out.println(pow);
            System.out.println(gensan);
            int hasuu = (Integer.parseInt(n) - gensan) * sentou;
            
            System.out.println(hasuu);
            total += hasuu + sentou;
        }
        return total;
    }
    public static void main(String[] args) {
        //コード
        Scanner scanner = new Scanner(System.in);
        String n = scanner.next();


        int total = 0;
        if (n.length() == 1) {
            System.out.println(n);
            System.exit(0);
        } else if (n.length() % 2 == 0) {
            int sentou = Character.getNumericValue(n.charAt(0));
            total = calculate(n, 1);
        } else {
            int sentou = Character.getNumericValue(n.charAt(0));
            total = calculate(n, sentou);

        }

        System.out.println(total + 9);
    }
}