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.
def decimalToBinary(n):
    return bin(n).replace("0b", "")
arr=[]
for x in range(1,10):
    for y in range(10):
        for i in range(1024):
            v=decimalToBinary(i)
            v=v.replace('1',str(x))
            v=v.replace('0',str(y))
            arr.append(int(v))
            v=v.replace(str(x),'1')
            v=v.replace(str(y),'0')
            v=v.replace('1',str(y))
            v=v.replace('0',str(x))
            arr.append(int(v))

arr1=list(set(arr))
arr1.sort()
n = int(input())
cnt=0
for i in arr1:
    if i<=n:
        cnt+=1
print(cnt-1)

