N = int(input())
M = N//(10**9+1)
d = [str(i) for i in range(10)]


def generate(X):
    q = []
    if X == 0:
        return [""]
    elif X == 1:
        return d
    else:
        string = ""
        b_data = generate(X-2)
        for s in b_data:
            for j in range(10):
                q.append(d[j]+s+d[j])
        return q


A = set()
for i in range(1, 10):
    K = generate(i)
    for some in K:
        A.add(int(some))
seq = list(A)
seq.sort()
ans = 0
for some in seq:
    if 1 <= some <= M and str(some)==str(some)[::-1]:   
        ans += 1
print(ans)