#include #define rep(i, n) for (int i = 0; i < (int)(n); i++) using namespace std; typedef long long ll; int main() { int N, D; cin >> N >> D; vector A(N + 1); A[0] = 0; rep(i, N) { cin >> A[i + 1]; } vector oA(N); rep(i, N) { oA[i] = A[i + 1]; } sort(A.begin(), A.end()); vector da(N); rep(i, N) { da[i] = A[i + 1] + D; } map mA; int l = 0; for (int r = 1; r <= N; r++) { while (A[r] >= da[l]) { l++; } mA[A[r]] = l; } rep(i, N) { cout<< mA[oA[i]] << endl; } }