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.
binaryS = []
for i in range(512):
    temp = bin(i)[2:]
    binaryS.append(temp)
preComputeArr = []
for bin in binaryS:
    for i in range(10):
        for j in range(10):
            temp = bin
            temp = temp.replace("0", "#")
            temp = temp.replace("1", str(j))
            temp = temp.replace("#", str(i))
            preComputeArr.append(int(temp))
preComputeArr = list(set(preComputeArr))
preComputeArr.sort()
preComputeArr.append(1000000000)
n = int(input())
for i in range(1, len(preComputeArr)):
    if(preComputeArr[i] > n):
        print(i - 1)
        break
