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())
use=set()
def calc(x,a,b):
  global cnt
  if int(x)<=n and not int(x) in use:
    use.add(int(x))
  elif int(x)>n:
    return
  calc(x+a,a,b)
  calc(x+b,a,b)
def calc2(x,a):
  global cnt
  if int(x)<=n and not int(x) in use:
    use.add(int(x))
  elif int(x)>n:
    return
  calc2(x+a,a)
for i in range(1,10):
  calc2(str(i),str(i))
for i in range(10):
  for j in range(i+1,10):
    if i!=0:
      calc(str(i),str(i),str(j))
    calc(str(j),str(i),str(j))
print(len(use))