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())
slen=len(str(n))
MOD=10**9+7
nums=[i for i in range(1,100)] 
for i in range(3,10):
    for j in range(0,10):
        for k in range(0,10):
            for z in range(0,10):
                curr=str(j)*z+str(k)*(i-z)
                nums.append(int(curr))
nums=list(set(nums))
nums=[i for i in nums if len(set(str(i)))<=2]
nums.sort()
#print(nums[0:15])
cnt=0 
for i in nums:
    if i<=0:
        continue 
    if i<=n:
        cnt+=1 
       # print(i)
    else:
        break 
print(cnt)