#include<bits/stdc++.h>
using namespace std;

// 定义函数判断是否为偶数回文,因为镜面只能翻倍且前后对应
bool judge(char c[]) {
if (strlen(c) % 2 == 0) {
for (int i = 0; i < strlen(c) / 2; i++) {
if (c[i] != c[strlen(c) - i - 1]) {
return false;
}
}
return true;
}
return false;
}

int main() {
char c[200];
cin >> c;
while (judge(c)) {
// 只要在长度一半的位置存入一个'\0'即可实现数组去掉一半
c[strlen(c) / 2] = '\0';
}
cout << strlen(c);
return 0;
}
/**************************************************************
	Problem: 1134
	User: wangyiyang
	Language: C++
	Result: Accepted
	Time:8 ms
	Memory:2072 kb
****************************************************************/