#include<bits/stdc++.h>
using namespace std;
const int N=2e5+10;
int n,k;
int p[N];
struct Node{
int ans,id;
}a[N];
bool cmp(Node a,Node b){
return a.ans>b.ans;
}
int main(){
scanf("%d %d",&n,&k);
for(int i=1;i<=n;i++)
scanf("%d",&a[i].ans),a[i].id=i;
sort(a+1,a+1+n,cmp);
for(int i=2;i<=n;i++){
if(a[i].ans==a[i-1].ans) p[a[i].id]=p[a[i-1].id];
else{
int l=a[i-1].ans-a[i].ans-p[a[i-1].id]*k-k;
if(l>0) p[a[i].id]=0;
else p[a[i].id]=ceil(1.0*(-l+1)/k);
}
}
for(int i=1;i<=n;i++)
printf("%d ",p[i]);
return 0;
}
WA