22pts
#include<bits/stdc++.h>
using namespace std;
int s[100005],o=0;
bool pd(int x)
{
if(x==0||x==1)
return 0;
for(int i=2;i<=sqrt(x);i++)
if(x%i==0)
return 0;
return 1;
}
int main()
{
int a,b,old,f=0;
cin>>a>>b;
if(a>b)swap(a,b);
if(pd(b-a))
{
cout<<2<<'\n';
cout<<a<<' '<<b;
return 0;
}
old=a;
for(int i=a+1;i<=b+10000;i++)
{
if(i%2==0&&i!=2)continue;
if(pd(i)==0)continue;
if(pd(i-old))
{
if(old==b)break;
s[++o]=old;
f=1;
if(pd(abs(b-old)))
break;
}
old=i;
if(f==0)old=a;
}
if(f==0)cout<<-1;
else
{
cout<<o+1<<'\n';
for(int i=1;i<=o;i++)
cout<<s[i]<<' ';
cout<<b;
}
}
21pts
#include<bits/stdc++.h>
using namespace std;
bool pd(int x)
{
if(x==0||x==1)
return 0;
for(int i=2;i<=sqrt(x);i++)
if(x%i==0)
return 0;
return 1;
}
int main()
{
int a,b,old,f=0;
cin>>a>>b;
if(a>b)swap(a,b);
if(pd(b-a))
{
cout<<2<<'\n'<<a<<' '<<b;
return 0;
}
old=a;
for(int i=a+1;i<=b+1000;i++)
{
if(i%2==0&&i!=2)continue;
if(pd(i)==0)continue;
if(pd(i-a)&&pd(abs(b-i)))
{
if(f==0)
cout<<3<<'\n'<<a<<' ';
cout<<i<<' ';
f=1;
break;
}
}
if(f==0)cout<<-1;
else cout<<b;
}