func_code_string: #include <bits/stdc++.h>   using namespace std;   long long base = 71;   const long long mod = 1e9 + 9;   int convert(char a) {     if (a >=  a  && a <=  z ) return (a -  a ) + 1;     if (a >=  A  && a <=  Z ) return (a -  A ) + 27;     return (a -  0 ) + 53;   }   int main() {     ios_base::sync_with_stdio(0);     cin.tie(0);     string s;     cin >> s;     int n = (int)s.length();     long long ans = 0;     vector<long long> V(n);     long long H = 0;     long long I = 0;     long long p = 1;     V[0] = 1ll;     for (int i = 0; i < n; ++i) {       H = (H * base % mod + (long long)convert(s[i])) % mod;       I = (I + p * (long long)convert(s[i]) % mod) % mod;       p = (p * base) % mod;       if (i && H == I) V[i] = V[(i - 1) / 2] + 1ll;       ans += V[i];     }     cout << ans <<   n ;     return 0;   }   