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.
from collections import deque
def check(n):
    s=set([int(i) for i in str(n)])
    if len(s)<=2:
        return 1
    else:
        return 0
n=int(input())
s=set()
q=deque()
q.append(0)
while(len(q)>0):
    g=q.popleft()
    if g>=n:
        break
    s.add(g)
    if g>=n:
        break
    for j in range(0,10):
        if g*10+j not in s and check(g*10+j):
            q.append(g*10+j)

print(len(s)-1)