No tag edit access

C. Hexadecimal's Numbers

time limit per test

1 secondmemory limit per test

64 megabytesinput

standard inputoutput

standard outputOne 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

Input data contains the only number *n* (1 ≤ *n* ≤ 10^{9}).

Output

Output the only number — answer to the problem.

Examples

Input

10

Output

2

Note

For *n* = 10 the answer includes numbers 1 and 10.

Codeforces (c) Copyright 2010-2017 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Aug/19/2017 06:31:35 (p1).

Desktop version, switch to mobile version.

User lists

Name |
---|