#include int ri() { int n; scanf("%d", &n); return n; } int main() { int n = ri(); int d = ri(); std::pair a[n]; for (int i = 0; i < n; i++) a[i] = {ri(), i}; std::sort(a, a + n); int res[n]; int head = 0; for (int i = 0; i < n; i++) { while (head < n && a[head].first <= a[i].first - d) head++; res[a[i].second] = head; } for (auto i : res) printf("%d\n", i); return 0; }