#pragma GCC optimize("Ofast") #pragma GCC target("avx2") long buf[200001]; 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 h1=(n-k*3>>1)+1; int h2=h1+k; int h3=h2+k+k-1; int i2=k>>1; int i3=0; int x=0; int y=n; for(int i=0;i