#include#include int min(int x,int y) { if(x>=y) return y; else return x; } int main(void) { char a[50],b[50],p[50],s[50]; int i,j,flag,l=0,id=0,rmax=0,maxi,max; gets(a); b[l++]='$'; b[l++]='#'; for(i=0;a[i]!=' ';i++) { b[l++]=a[i]; b[l++]='#'; } b[l]='*'; p[0]=1; for(i=1;i<=l;i++) { p[i]=(i>=rmax?1:min(p[2*id-i],rmax-i)); while(b[i+p[i]]==b[i-p[i]]) p[i]++; if(i+p[i]>rmax) { rmax=i+p[i]; id=i; } } max=p[0]; maxi=0; for(i=1;i



