#include<bits/stdc++.h>
using namespace std;
int n,m;
const int MAXN=2e5+5;
long long a[MAXN];
long long s[MAXN];
bool check(long long num,long long k){
long long x=lower_bound(a+1,a+1+n,num)-a;
long long sum=s[n]-s[x-1]-num*(n-x+1);
if(sum>(k-1)*(m-num)){
return 0;
}else
return 1;
}
int main(){
freopen("qiju.in","r",stdin);
freopen("qiju.out","w",stdout);
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i];
}
sort(a+1,a+1+n);
for(int i=1;i<=n;i++){
s[i]=s[i-1]+a[i];
}
for(int i=1;i<=n;i++){
long long l=0,r=m;
long long mid;
while(l<r){
mid=(l+r)/2;
if(check(mid,i)){
r=mid;
}else l=mid+1;
}
cout<<l<<" ";
}
return 0;
}