#include using namespace std; typedef long long LL; vector decode(string s){ int n=s.size(); vector bits(26,0); for(int i=0;i>s; t=s; reverse(t.begin(),t.end()); auto S=decode(s); auto T=decode(t); int res=1,n=s.size(); for(int i=1,j=n-2;j>0;i++,j--){ int len=n; for(int c=0;c<26;c++){ LL diff=(S[c]>>i) xor (T[c]>>j); if(diff==0)continue; len=min(len,__builtin_ctzll(diff)*2-1); } if(len==n)len=n-2; res=max(res,len); } for(int i=1,j=n-1;i>i) xor (T[c]>>j); if(diff==0)continue; len=min(len,__builtin_ctzll(diff)*2); } if(len==n)len=n-2; res=max(res,len); } cout<