One beautiful July morning a terrible thing happened in Mainframe: a mean virus Megabyte somehow got access to the memory of his not less mean sister Hexadecimal. He loaded there a huge amount of *n* different natural numbers from 1 to *n* to obtain total control over her energy.

But his plan failed. The reason for this was very simple: Hexadecimal didn't perceive any information, apart from numbers written in binary format. This means that if a number in a decimal representation contained characters apart from 0 and 1, it was not stored in the memory. Now Megabyte wants to know, how many numbers were loaded successfully.
Input data contains the only number *n* (1 ≤ *n* ≤ 10<sup class="upper-index">9</sup>).
For *n* = 10 the answer includes numbers 1 and 10.
10
2
20
3
72
3
99
3
100
4
101
5
102
5
111
7
112
7
745
7
23536
31
1
1
1010011
83
312410141
511
1000000000
512
999999999
511
111111111
511
101010101
341
121212121
511
106341103
383
901556123
511
832513432
511
3
1
732875234
511
7
1
9
1
2
1
11
3
12
3
13
3
101020101
351
111100100
484
110110101
437
100111001
313
100100
36
110100102
421
import sys

ans=0
n = sys.stdin.readline()

def binUp(s):        
        if s[-1]=='0':
                b = s[:-1]+'1'
        else:
                i = len(s)-1
                block = ''
                while s[i]=='1':
                        block = '0'+block
                        i-=1
                block = '1'+block
                b = s[:len(s)-len(block)]+block
        return b

s = '0'*9
nums = []
do = True
while do:
        try:
                s = binUp(s)
                nums.append(int(s))
        except:
                do = False
n = int(n)
for num in nums:
        if num<=n:
                ans+=1
        else:
                break
print(ans)
'''
n = int(sys.stdin.readline())
inp = sys.stdin.readline().strip().split()
a = [int(x) for x in inp]

ans = -(10**9)
s = 0
for l in range(n-1):
        l+=1
        s = 0
        for i in range(l-1,n-1):
                print(s)
                s = s+(abs(a[i]-a[i+1])*(-1)**(i-l))
                if s>ans:
                        ans = s
print(ans)
'''
