import itertools

N = input()
M = 10**9
a = N / M

if (a == 0):
    print 0
    exit()

s = str(a)
b = len(s)

ans = 0
for i in xrange(1, b+1):
    if (i == b):
        ans += 10**max(i-2, 0) * (int(s[0])-1)
    elif i == 1:
        ans += 9
    else:
        ans += 10**(i/2+i%2)
print ans
keta = max(b-2, 0)
keta = keta/2 + keta%2
if keta == 0:
    nnn = a*10**9 + a
    if nnn <= N:
        ans += 1
    print ans
    exit()
for p in itertools.product('0123456789', repeat=keta):
    orikaeshi = p[::-1]
    if len(p) % 2 == 1:
        orikaeshi = orikaeshi[1:]
    nnn = int(s[0] + ''.join(p) + ''.join(orikaeshi) + s[0])
    nnn = nnn*10**9 + nnn
    print nnn
    if int(nnn) <= N:
        ans += 1

print ans