#include "stdio.h"
int isHW(int n)
{
    int i,count = 0,u = 1,m = 10;
    if(n < 10)
        return 1;
    for(i = 0; i <= count; i ++)        //判断整数的位数count
    {
        if(n/u == 0)
            continue;
        count ++;
        u *= 10;
    }
    for(i = 0; i < count/2; i ++)        //判断是否是回文
    {
        u /= 10;                                //u经过之前循环是10^(位数+1),需要/10,方便取n的最高位
        if(n/u != n%m)                        //如果最高位和最低位不等
            return 0;                    //直接返回0
        n -= n/u *u;                    //将n去掉最高位
        n /= 10;                        //将n去掉最低位
        u /= 10;                        //因为去掉了最低位,下一次获取最高位时应该多/10
    }
    return 1;
}
int main()
{
    int n;
    scanf("%d",&n);
    for(int i=1; i<=n;i++)
        isHW(i) ? printf("%d\n",i) : i;
}