#include #include #include #include #include #include #include #include #include using namespace std; using ll = long long; int main() { int n, d; cin >> n >> d; vector a(n); map num; int mx = 0; for(int i = 0; i < n; i++){ cin >> a[i]; num[a[i]]++; mx = max(mx, a[i]); } bool ok = false; int tmp = 0; for(int i = 0; i <= mx; i++){ if(num[i] == 0) continue; num[i] += tmp; tmp = num[i]; } for(int i = 0; i < n; i++){ int la = -1; if(a[i] -d >= 0){ for(int j = a[i]-d; j >= 0; j--){ if(num[j] != 0){ cout << num[j] << endl; la = 0; break; } } if(la == 0) continue; cout << 0 << endl; }else{ cout << 0 << endl; } } return 0; }