import java.util.Scanner;
public class test03 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
StringBuilder sb = new StringBuilder();
int n = sc.nextInt();
//定义一个data进行记录日期
int date = n;
//有两个要求,使用做两个判断
boolean flag1 = true, flag2 = true;
while (flag1 || flag2) {
//把data填进去,如果是n这里日期不会递增,使用需要额外定义一个data
date = DateRun(date);
//题目要求是先输出回文日期,但是只要一个回文日期就可以,
//所以要在前加入flag判断是否已经输出,输出过则跳过
//反转字符串比较
if (flag1 == true && sb.append(date).reverse().toString().equals(String.valueOf(date))) {
//进行sb清空,因为sb会自动添加在字符串末尾
//不管字符串是不是都要进行清空
sb.setLength(0);
System.out.println(date);
flag1 = false;
} else sb.setLength(0);
//首先判断前面是不是ABAB型,再反转后面四位字符串与前面进行比较
if (flag1 == false && String.valueOf(date).substring(0, 2).equals(String.valueOf(date).substring(2, 4))
&& String.valueOf(date).substring(0, 4).equals
(sb.delete(0, sb.length()).append(String.valueOf(date).substring(4)).reverse().toString())) {
System.out.println(date);
flag2 = false;
} else sb.setLength(0);
}
sc.close();
}
//对日期进行合法判断和自增
public static int DateRun(int date) {
int year = date / 10000, month = (date / 100) % 100, day = date % 100;
day++;
int p = 31;
if (month == 2 && ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)) {
p = 29;
} else if (month == 4 || month == 6 || month == 9 || month == 11) {
p = 30;
} else if (month == 2) {
p = 28;
}
if (day > p) {
day = 1;
month++;
if (month > 12) {
month = 1;
year++;
}
}
return year * 10000 + month * 100 + day;
}
}