Cod sursa(job #637169)
#include<stdio.h>
char s[505];
int main()
{
freopen("palm.in","r",stdin);
freopen("palm.out","w",stdout);
int n,i,st,dr,lmax=1,l;
s[0]='z'+1;
i=0;
while(scanf("%c",&s[++i])!=EOF)
{
}
n=i;
s[i+1]='z'+1;
for(i=2;i<=n;i++)
{
if(s[i]==s[i+1])
{
st=i-1;
dr=i+2;
l=2;
while(s[st]==s[dr]&&s[st]<=s[st+1])
{
l=l+2;
st--;
dr++;
}
if(l>lmax)
lmax=l;
}
else
{
l=1;
st=i-1;
dr=i+1;
while(s[st]==s[dr]&&s[st]<=s[st+1])
{
l=l+2;
st--;
dr++;
}
if(l>lmax)
lmax=l;
}
}
printf("%d\n",lmax);
return 0;
}