#pragma GCC optimize("Ofast") #pragma GCC target("avx2") long buf[200000]; long*wp=buf; char*rp=buf; #define RD(v) int v=0;{int _c;while(_c=*rp++-48,_c>=0)v=v*10+_c;} #define WT(v) {long _z=v,_d=0x2020202020202020l;while(_d=_d<<8|0x30|_z%10,_z/=10);*wp++=_d;} main(){ read(0,buf,16); RD(n); RD(k); int m=n/k; if(k>1&k==n|~k&m&1){ *wp++=*(long*)"No "; }else{ *wp++=*(long*)"Yes "; if(k==1){ for(int i=1;i<=n;++i){ WT(i); } }else{ int g=m-(m&1?3:0)>>1; int h=n-k*3>>1; int i2=k>>1; int i3=0; for(int i=0;i=k)i2-=k; i3+=2; if(i3>=k)i3-=k; } for(int j=0;j