func_code_string: #include <bits/stdc++.h>   using namespace std;   using namespace std;   const long long mod = 1e9 + 7;   const int inf = 1e9;   string s;   long long expMod(long long base, long long ex, long long mod) {     if (ex == 0) return 1;     long long temp = expMod(base, ex / 2, mod);     temp = (temp * temp) % mod;     if (ex % 2) temp = (temp * base) % mod;     return temp;   }   long long solve(string x) {     long long n = x.size();     if (n == 1) {       if (x[0] ==  1 )         return 1;       else         return 0;     }     string temp = x.substr(1);     long long sz = temp.size();     long long ret = 0;     if (x[0] ==  0 ) {       ret = (1LL * 2 * solve(temp)) % mod;     } else {       ret = (expMod(2, 2 * sz, mod) + 2 * solve(temp)) % mod;     }     return ret;   }   int main() {     ios::sync_with_stdio(0);     cin.tie(0);     cin >> s;     cout << solve(s) <<   n ;     return 0;   }   