import java.util.*;
class Main
{
    static boolean isPalindrom(long num)
    {
        String s=Long.toString(num);
        String rev=new StringBuilder(s).reverse().toString();
        return s.equals(rev);
    }
    public static void main(String[] args)
    {
        Scanner s=new Scanner(System.in);
        String n=s.nextLine().trim();
        if(n.isEmpty() || n.length() > 18)
        {
            System.out.println("Invalid input");
            return;
        }
        long num;
        try
        {
            num=Long.parseLong(n);
        }
        catch (Exception e)
        {
            System.out.println("Invalid input");
            return;
        }
        long lower=num-1;
        long upper=num+1;
        while(true)
        {
            boolean lowerPal=lower>=0 && isPalindrom(lower);
            boolean upperPal=isPalindrom(upper);
            if(lowerPal && upperPal)
            {
                System.out.println(Math.min(lower,upper));
                break;
            }
            if(lowerPal)
            {
                System.out.println(upper);
                break;
            }
            lower--;
            upper++;
        }
    }
    private static boolean isPalindrom(long x)
    {
        String s=String.valueOf(x);
        int i=0,j=s.length()-1;
        while(i<j)
        {
            if(s.charAt(i)!=s.charAt(j))
            {
                return false;
            }
            i++;
            j--;
        }
        return true;
    }
    
}