#include using namespace std; using Int = long long; template inline void chmin(T1 &a,T2 b){if(a>b) a=b;} template inline void chmax(T1 &a,T2 b){if(a hash,p; RollingHash(){} RollingHash(const string &s,ull B=1000000007LL){ int n=s.size(); hash.assign(n+1,0); p.assign(n+2,1); for(int i=0;i>s; int n=s.size(); string t(s); reverse(t.begin(),t.end()); RollingHash rs(s),rt(t); for(int i=0;i<=n;i++){ using ull = RollingHash::ull; for(int j='a';j<='z';j++){ ull A=rs.find(0,i)*rs.p[n-i+1]+(j*rs.p[n-i])+rs.find(i,n); ull B=rt.find(0,n-i)*rt.p[i+1]+(j*rt.p[i])+rt.find(n-i,n); if(A==B){ cout<