/*最长回文子串*/
#include<stdio.h>
#include<string.h>
#include<ctype.h>
#define MAXN 5000+10
char buf[MAXN],s[MAXN];
int p[MAXN];
int main()
{
int n,m=0,max=0,x,y;
int i,j;
fgets(buf,sizeof(s),stdin);
n=strlen(buf);
for(i=0;i<n;i++)
if(isalpha(buf[i]))//去掉字符串中的符号标点
{
p[m]=i; //保存s[i]在buf中的位置
s[m++]=toupper(buf[i]); //全部转化为大写以便判断是否回文
}
for(i=0;i<m;i++)
{
//长度为奇数的回文子串 duaud
for(j=0;i-j>=0&&i+j<m;j++)
{
if(s[i-j]!=s[i+j]) break;
if(j*2+1>max){max=j*2+1;x=p[i-j];y=p[i+j];}//跟新max的同时把p[i]和p[j]保存到x,y
}
//长度为偶数的回文子串 duaaud
for(j=0;i-j>=0&&i+j+1<m;j++)
{
if(s[i-j]!=s[i+j+1]) break;
if(j*2+2>max){max=j*2+1;x=p[i-j];y=p[i+j+1];}
}
}
for(i=x;i<=y;i++)
printf("%c",buf[i]);
printf("/n");
return 0;
}