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.
n=int(input())
curr=list([i for i in range(1,100)]) 
curr=set(curr)
def isvalid(x):
    if x<1 or x>10**9:
        return 0 
    if len(set(str(x)))<=2:
        return 1 
cnt=0 
while cnt<=10**5 :
    curr1=set()
    for i in curr:
        for j in range(10):
            if isvalid(i*10+j):
                curr1.add(i*10+j)
               # print('hi')
                cnt+=1 
    #print(curr1)
    curr|=curr1 
curr=sorted(list(curr))
#print(curr)
ans=0 
for i in curr:
    if i>=1 and i<=n:
        ans+=1 
    elif i>n:
        break 
print(ans)