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.
def lucky_number_hard():
    a=int(input())
    c=[]
    for x in range(10):
        for y in range(10):
            for lenn in range(10):
                for bina in range(2**lenn):
                    d=bin(bina)[2:].zfill(lenn)
                    ans=''
                    for k in range(len(d)):
                        if d[k]=='0':
                            ans+=str(x)
                        else:
                            ans+=str(y)
                    c.append(int(ans))
    c=list(set(c))
    cnt=0
    c.sort()
    for i in range(len(c)):
        if c[i]<=a:
            cnt+=1
        else:break
    print(cnt-1)
lucky_number_hard()
