#include <bits/stdc++.h>
using namespace std;
char s[5000001];
int dp[5000000];
int main() {
  gets(s);
  unsigned long long a = 0, l = 0, r = 0, t = 1;
  for (int i = 0; s[i]; i++) {
    l = (l * 109) + s[i];
    r = r + s[i] * t;
    t *= 109;
    if (l == r) dp[i + 1] = dp[(i + 1) / 2] + 1;
    a += dp[i + 1];
  }
  cout << a << endl;
  return 0;
}
