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.
list1 = []
for x in range(10):
    for y in range(10):
        for l in range(0,10):
            for i in range((2**l)+1):
                n = (bin(i)[2:]).zfill(l)
                str1 = ""
                for k in n:
                    if k == "0":
                        str1 += str(x)
                    else:
                        str1 += str(y)
                list1.append(int(str1))
a = int(input())
list1 = list(set(list1))
list1 = list1[1:]
ans = 0
for i in range(len(list1)):
    if list1[i] <= a:
        ans += 1
print(ans)