#include<iostream>#include<cstring>#include<algorithm>usingnamespace std;int month[]={0,31,28,31,30,31,30,31,31,30,31,30,31};// 直接用string判断回文boolcheck_huiwen(int x){
string a =to_string(x);
string b = a;reverse(b.begin(), b.end());return a == b;}// ababbaba类型判断boolcheck_abab(int x){// 前四个数int a = x /10000000, b = x /1000000%10;int c = x /100000%10, d = x /10000%10;if(a == c && b == d && a != b)returntrue;returnfalse;}// 日期合法判断boolcheck_date(int x){int y = x /10000, m = x /100%100, d = x %100;if(y %4==0&& y %100!=0|| y %400==0) month[2]=29;else month[2]=28;if(m >=1&& m <=12&& d >=1&& d <= month[m])returntrue;returnfalse;}intmain(){int x; cin >> x;// flag1:回文// flag2:既是回文又是ababbool flag1 =false, flag2 =false;int huiwen, huiwenAbab;for(int i = x +1;; i ++){if(check_date(i)){if(!flag1 &&check_huiwen(i)) huiwen = i, flag1 =true;if(!flag2 &&check_huiwen(i)&&check_abab(i)) huiwenAbab = i, flag2 =true;}if(flag1 && flag2)break;}
cout << huiwen << endl << huiwenAbab << endl;return0;}