ll n,a,b,j,x[2d5],c[2d5]; unionFind u; { rd(n,a,b,x(n)); u.walloc(n,1); rep(i,n){ while(x[i]-x[j]>b)++j; while(x[i]-x[j]>=a)u(j,i),++j; if(j)--j; } rep(i,n){ c[u.get(i)]++; } rep(i,n){ wt(c[u.get(i)]); } }