#include<bits/stdc++.h>
using namespace std;
long long t=0;
void dfs(long long c,long long n) {
if (c>n)return;
t++;
dfs(c*10, n);
dfs(c*10+1,n);
//cout<<c<<" "<<t<<endl;
}
/* ll _______[___[__{
y y / {
y uuuuu y / ____________ { 000000000
y lll y ppppppppppp 00000000000
y lll l lll ll l l l y 0000000000000
y y y y illllllllllllll 00000000000
ll \ 000000000
/-------------------------\ \
| return 91 | \
^^| | \
-___--------------------------------{[[[[[[[\]]]]]]]}
*/
int main() {
long long n;
cin >>n;
dfs(1,n);
cout<<t<<endl;
return 0;
}