统计前半个回文串
#include <bits/stdc++.h>
using namespace std;
#define For(i,n) for(int i=1;i<=n;i++)
#define ForD(i,n) for(int i=n;i;i--)
#define ForkD(i,k,n) for(int i=n;i>=k;i--)
#define Rep(i,n) for(int i=0;i<n ;i++)
#define MAXN (1000000000+10)
int n;
int s[100000];
int main()
{
// freopen("J.in","r",stdin);
while(scanf("%d",&n)!=EOF&&n)
{
int t=1; //位数
int p=9;
while (n>p)
{
t++;
n-=p;
if (t>=3&&t%2==1)
{
p*=10;
}
}
int len=t/2+t%2;
// cout<<p<<endl;
/*
int a=(n-1)/(p/9)+1;
*/
int k10=p/9;
n+=k10-1;
ForD(i,len)
{
s[i]=n%10;
n/=10;
}
For(i,len) printf("%d",s[i]);
if (t%2) len--;
ForD(i,len) printf("%d",s[i]);
// cout<<n<<endl;
printf("\n");
}
return 0;
}