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.
import sys

inp = sys.stdin.readlines()
n = int(inp.pop(0).replace('\n',''))
lucky = set()

def dfs(n, x, y, num, cntr):
  if num>n or (num == 0 and cntr >0):
    return
  if num > 0:
    lucky.add(num)
  dfs(n,x,y,num*10+x, cntr+1)
  dfs(n,x,y,num*10+y, cntr+1)

for i in range(10):
  for j in range(10):
    dfs(n,i, j, 0, 0)

print(len(lucky))
			 				 					 			 					   	 		