int runnian(int a,int *k)
{
int b;
b=a%400;
if(b==0){
*k=*k+1;
}
else{
b=a%4;
if(b==0){
*k=*k+1;
}
}
return a;
}
int main(){
int x,y;
scanf("%d %d",&x,&y);
int num;
int k=0;
for(int i=x;i<=y;i++){
runnian(i,&k);
}
int b[k];
int t=0;
int qwe=0;
for(int i=x;i<=y;i++){
t=0;
runnian(i,&t);
if(t==1){
b[qwe]=i;
qwe=qwe+1;
}
}
printf("%d\n",qwe);
for(int i=0;i<=k-1;i++){
printf("%d ",b[i]);
}
return 0;
}