\(\text{Problems}\)
$\text{Solution}$
#define forUp(i,a,b) for(int i=(a);i<=(b);++i)
#define forUP(i,a,b) for(int i=(a);i<(b);++i)
int V,k;
void solve(){
cin>>V>>k;
if(k==2){
if(V%2==0){
cout<<"Yes\n";
cout<<"2\n";
cout<<0<<' '<<V/2<<'\n';
}
else cout<<"No\n";
}
else if(k==4){
if(V%4==0){
cout<<"Yes\n";
cout<<"3\n";
cout<<0<<' '<<V/4<<' '<<V/2<<'\n';
}
else cout<<"No\n";
}
else if(k==V){
cout<<"Yes\n";
cout<<V<<'\n';
forUP(i,0,V)cout<<i<<' ';cout<<'\n';
}
else if(k%2==1){
cout<<"Yes\n";
cout<<(k+1)/2<<'\n';
forUp(i,0,(k-1)/2)cout<<i<<' ';cout<<'\n';
}
else{
cout<<"Yes\n";
cout<<k/2<<'\n';
cout<<0<<' ';forUp(i,2,k/2)cout<<i<<' ';cout<<'\n';
}
}