Polycarpus loves lucky numbers. Everybody knows that lucky numbers are positive integers, whose decimal representation (without leading zeroes) contain only the lucky digits *x* and *y*. For example, if *x* = 4, and *y* = 7, then numbers 47, 744, 4 are lucky.

Let's call a positive integer *a* undoubtedly lucky, if there are such digits *x* and *y* (0 ≤ *x*, *y* ≤ 9), that the decimal representation of number *a* (without leading zeroes) contains only digits *x* and *y*.

Polycarpus has integer *n*. He wants to know how many positive integers that do not exceed *n*, are undoubtedly lucky. Help him, count this number.
The first line contains a single integer *n* (1 ≤ *n* ≤ 10<sup class="upper-index">9</sup>) — Polycarpus's number.
# LUOGU_RID: 109501820
n, a = int(input()), []

for i in range(1, 10): a.append([i, i])
i, c = 0, 9
while i < c:
    t = a[i][0] * 10
    if len(a[i]) == 2:
        for x in range(10):
            y = t + x
            if y <= n: 
                z = a[i][1]
                a.append([y, z])
                if x != z: a[c].append(x)
                c += 1
    else:
        y = t + a[i][1]
        if y <= n: a.append([y, a[i][1], a[i][2]]); c += 1
        y = t + a[i][2]
        if y <= n: a.append([y, a[i][1], a[i][2]]); c += 1
    i += 1

print(c)