Rand r; ll@n,@k,a[n],s=0; rep(i,n){ a[i]=i+1; s+=(i+1)*(i+1); } if(k<=n*n||k>s||n==3&&k==12){ wt("No"); exit(0); } while(s!=k){ int i=r.get(n); int j=r.get(n); if(i!=j){ ll t=s-(a[i]-a[j])*(i-j); if(abs(t-k)<=abs(s-k)){ swap(a[i],a[j]); s=t; } } } wt("Yes"); wt(a(i)); wtSp(1..n);