#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;
}