func_code_string: #include <bits/stdc++.h>   using namespace std;   int main() {     vector<long long> a;     a.push_back(0);     a.push_back(1);     map<long long, long long> m;     int k, l = 0;     m[0] = 1;     m[1] = 1;     while (1) {       k = l;       l = a.size();       for (int i = k; i < l; i++) {         long long z = a[i] * 10 + 0;         long long y = a[i] * 10 + 1;         if (m[z] == 0) {           a.push_back(z);           m[z]++;         }         if (m[y] == 0) {           a.push_back(y);           m[y]++;         }       }       if (a[a.size() - 1] > 1e9) break;     }     long long n;     cin >> n;     vector<long long>::iterator it;     it = upper_bound(a.begin(), a.end(), n);     cout << it - a.begin() - 1 << endl;   }   