#include <bits/stdc++.h>
using namespace std;
char str[110];
int num[110];
int i,j,n,flag;
void add()
{
num[0]+=1;
for(i=0;i<n;i++)
{
if(num[i]>=10)
{
num[i+1]++;
num[i]-=10;
}
}
if(num[n]>0)
{
n++;
}
}
void mirror(int t)
{
while(t<=n-1)
{
num[n-t-1]=num[t];
t++;
}
}
int comp(int t)
{
while(num[t]==num[n-t-1])//1234321
t++;
if(t>=n)
{
return 0;
}
else if(num[t]>num[n-t-1])
{
return 1;
}
else
{
return -1;
}
}
void output()
{
for(i=n-1;i>=0;i--)
{
cout<<num[i];
}
}
int main()
{
cin>>str;
n=strlen(str);
for(i=0;i<n;i++)
{
num[n-i-1]=str[i]-48;
}
add();
if(n%2==1)
{
flag=comp(n/2+1);
if(flag>0)
{
mirror(n/2+1);
output();
}
else if(flag<0)
{
mirror(n/2+1);
num[n/2]++;
output();
}
else if(flag==0)
{
num[0]--;
output();
}
}
else
{
flag=comp(n/2);
if(num[n/2]<num[n/2-1])
{
num[n/2]++;
}
mirror(n/2);
output();
}
return 0;
}
PS:测了好多数据都对,就是测试点4不行