#include<iostream>
using namespace std;
int month[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
bool get_vaild(int r){
int y=r/10000,m=r/100%100,d=r%100;
if(m<=0||m>=13||d<=0) return 0;
if(m!=2&&d>month[m]) return 0;
if(m==2){
int leap=(y%100&&y%4==0)||(y%400==0);
if(d>28+leap) return 0;
}
return 1;
}
int main(){
int time;
scanf("%d",&time);
int start=0;
for(int i=time;;i++){
int x=i/10000,r=x;
for(int j=0;j<4;j++) r=r*10+x%10,x/=10;
if(r<=time) continue;
if(get_vaild(r)){
start=r;
printf("%d\n",r);
break;
}
}
for(int i=start;;i++){
int y=i/1000000,a=y/10%10,b=y%10;
y=y*100+a*10+b;
y=y*10000+b*1000+a*100+b*10+a;
if((a==b)||(y<start)) continue;
if(get_vaild(y)){
printf("%d\n",y);
break;
}
}
return 0;
}
0 回复
0 转发
0 喜欢
1 阅读



