#include using namespace std; #define REP(i,n)for(int i=0;i<(n);++i) #define REP1(i,n)for(int i=1;i<=(n);++i) #define FORE(...)for(auto&&__VA_ARGS__) #define ALL(x)begin(x),end(x) #define mset(x,y)memset(x,y,sizeof x) #define pb push_back #define eb emplace_back #define V vector #define lb(x,y)(lower_bound(begin(x),end(x),y)-begin(x)) #define ub(x,y)(upper_bound(begin(x),end(x),y)-begin(x)) templateinline bool chmin(T&A,S B){return A>B?A=B,1:0;} templateinline bool chmax(T&A,S B){return A; using PLL=pair; int main(){ int N,S;cin>>N>>S; VP(N); REP(i,N){ cin>>P[i].first; P[i].second=i; } sort(ALL(P)); mapmp; VPP(N); REP(i,N)PP[i]=P[i].first,++mp[PP[i]]; Vans; REP(i,N){ int idL=lb(PP,PP[i]-S); int idR=lb(PP,PP[i]+1); if(PP[idL]==PP[i]&&(idR==N||PP[i]+S