#include<iostream>
#include<vector>
using namespace std;
int help(vector<int> vt)
{
	vector<int> tmp{1,2,4,8,16,32,64,128};
	for (int i = 8; i >= 0; --i)
	{
		if (vt[i]>1)
		{
			return (2 << i) - 1;
		}
		else
		{
			if (vt[i] == 1)
			{
				int ans = (2 << i);
				int j = i - 1;
				while (j >= 0 && vt[j] <= 1)
				{
					if (vt[j] == 0)
						ans -= tmp[j];
					j--;
				}
				return ans-1;
			}
		}
	}
	return 0;
}
int main()
{
	unsigned long long n;
	while (cin >> n)
	{
		vector<int> vt(10, 0);
		int i = 0;
		while (n)
		{
			vt[i++] = n % 10;
			n /= 10;
		}
		if (vt[9] == 1)
		{
			cout << 512 << endl;
		}
		else{
			cout << help(vt) << endl;
		}
		
	}
	return 0;
}