# 単純にすべてをまわして桁数を計算したのでよかったらしい



n = int(eval(input()))

ans = 0



for i in range(1, n+1):

    if len(str(i)) % 2 == 1:

        ans += 1



print(ans)

n = eval(input())

digit_n = len(str(n))

n = int(n)

ans = 0



if digit_n % 2 == 0:

    for i in range(digit_n // 2):

        ans += 9 * 10 ** (i * 2)



else:

    if digit_n != 1:

        for i in range((digit_n - 1) // 2):

            ans += 9 * 10 ** (i * 2)

        hasuu = n - 10 ** ((i+1)*2)

        ans += hasuu + 1

    

    else:

        ans = n



    

print(ans)



# 端数の計算が間違っていた

# 単純にすべてをまわして桁数を計算したのでよかったらしい
n = int(eval(input()))
ans = 0
for i in range(1, n + 1):
    if len(str(i)) % 2 == 1:
        ans += 1
print(ans)

n = eval(input())
digit_n = len(str(n))
n = int(n)
ans = 0
if digit_n % 2 == 0:
    for i in range(digit_n // 2):
        ans += 9 * 10 ** (i * 2)
else:
    if digit_n != 1:
        for i in range((digit_n - 1) // 2):
            ans += 9 * 10 ** (i * 2)
        hasuu = n - 10 ** ((i + 1) * 2)
        ans += hasuu + 1
    else:
        ans = n
print(ans)
# 端数の計算が間違っていた

-# 単純にすべてをまわして桁数を計算したのでよかったらしい -n = int(eval(input())) +n = eval(input()) +digit_n = len(str(n)) +n = int(n) -for i in range(1, n + 1): -    if len(str(i)) % 2 == 1: -        ans += 1 +if digit_n % 2 == 0: +    for i in range(digit_n // 2): +        ans += 9 * 10 ** (i * 2) +else: +    if digit_n != 1: +        for i in range((digit_n - 1) // 2): +            ans += 9 * 10 ** (i * 2) +        hasuu = n - 10 ** ((i + 1) * 2) +        ans += hasuu + 1 +    else: +        ans = n +# 端数の計算が間違っていた