#include <bits/stdc++.h>
using namespace std;
#define faster ios_base::sync_with_stdio(false); cin.tie(NULL)
#define Bit(mask , i) ((mask >> i) & 1)
#define fi first
#define se second
#define _LOG2(nl) 31 - __builtin_clz(nl)
#define c_bit(nl) __builtin_popcount(nl)
#define db double
const int N = 1e5 + 7;
int n , k;
long long m , a[N];
void inp(){
cin >> n;
for (int i = 1 ; i <= n ; ++i){
cin >> a[i];
}
cin >> m >> k;
sort(a + 1 , a + n + 1);
}
void sub1(){
while (m--){
int i = 1;
int p = k;
while (i <= n){
int j = i;
while (j < n && a[j + 1] == a[i]) ++j;
if (j - i + 1 < p){
for (int u = i ; u <= j ; ++u) ++a[u];
p -= (j - i + 1);
}
else{
for (int u = j ; u >= j - p + 1 ; --u) ++a[u];
break;
}
i = j + 1;
}
}
for (int i = 1 ; i <= n ; ++i) cout << a[i] << " ";
}
void sub2(){
long long tol = m * k;
int i = 1;
long long cnt = 0;
while (i <= n){
++cnt;
int j = i;
while (j < n && a[j + 1] == a[i]){
++j;
++cnt;
}
if (j == n){
for (int u = 1 ; u <= j ; ++u) a[u] = a[j];
for (int u = 1 ; u <= j ; ++u) a[u] += tol / cnt;
for (int u = j ; u >= j - (tol % cnt) + 1 ; --u) ++a[u];
for (int i = 1 ; i <= n ; ++i) cout << a[i] << " ";
return;
}
if (tol <= (a[j + 1] - a[i]) * cnt){
for (int u = 1 ; u <= j ; ++u) a[u] = a[j];
for (int u = 1 ; u <= j ; ++u) a[u] += tol / cnt;
for (int u = j ; u >= j - (tol % cnt) + 1 ; --u) ++a[u];
for (int i = 1 ; i <= n ; ++i) cout << a[i] << " ";
return;
}
tol -= (a[j + 1] - a[i]) * cnt;
i = j + 1;
}
}
long long BIT[N];
void update(int x , long long val){
while (x <= n){
BIT[x] += val;
x += x & -x;
}
}
long long get(int x){
long long res = 0;
while (x > 0){
res += BIT[x];
x -= x & -x;
}
return res;
}
void sub3(){
for (int i = 1 ; i <= n ; ++i) update(i , a[i] - a[i - 1]);
while (m--){
if (get(k + 1) > get(k)){
update(1 , 1);
update(k + 1 , -1);
continue;
}
long long t = get(k);
int l = 1 , r = k , mid , pos = 0;
while (l <= r){
mid = (l + r) >> 1;
if (get(mid) < t){
pos = mid;
l = mid + 1;
}
else r = mid - 1;
}
int p = k;
if (pos){
update(1 , 1);
update(pos + 1 , -1);
p -= pos;
}
l = k + 1 , r = n , mid , pos;
while (l <= r){
mid = (l + r) >> 1;
if (get(mid) == t){
pos = mid;
l = mid + 1;
}
else r = mid - 1;
}
update(pos + 1 , -1);
update(pos - p + 1 , 1);
}
for (int i = 1 ; i <= n ; ++i) cout << get(i) << " ";
}
void solve(){
if (n <= 1e3 && m <= 1e3){
sub1();
return;
}
if (k == 1){
sub2();
return;
}
if (k == n){
for (int i = 1 ; i <= n ; ++i) cout << a[i] + m << " ";
return;
}
if (m <= 1e5){
sub3();
}
}
int main(){
// freopen("level.inp" , "r" , stdin);
// freopen("level.out" , "w" , stdout);
faster;
inp();
solve();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgZmFzdGVyIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOyBjaW4udGllKE5VTEwpCiNkZWZpbmUgQml0KG1hc2sgLCBpKSAoKG1hc2sgPj4gaSkgJiAxKQojZGVmaW5lIGZpIGZpcnN0CiNkZWZpbmUgc2Ugc2Vjb25kCiNkZWZpbmUgX0xPRzIobmwpIDMxIC0gX19idWlsdGluX2NseihubCkKI2RlZmluZSBjX2JpdChubCkgX19idWlsdGluX3BvcGNvdW50KG5sKQojZGVmaW5lIGRiIGRvdWJsZQoKY29uc3QgaW50IE4gPSAxZTUgKyA3OwppbnQgbiAsIGs7CmxvbmcgbG9uZyBtICwgYVtOXTsKCnZvaWQgaW5wKCl7CiAgICBjaW4gPj4gbjsKICAgIGZvciAoaW50IGkgPSAxIDsgaSA8PSBuIDsgKytpKXsKICAgICAgICBjaW4gPj4gYVtpXTsKICAgIH0KICAgIGNpbiA+PiBtID4+IGs7CiAgICBzb3J0KGEgKyAxICwgYSArIG4gKyAxKTsKfQoKdm9pZCBzdWIxKCl7CiAgICB3aGlsZSAobS0tKXsKICAgICAgICBpbnQgaSA9IDE7CiAgICAgICAgaW50IHAgPSBrOwogICAgICAgIHdoaWxlIChpIDw9IG4pewogICAgICAgICAgICBpbnQgaiA9IGk7CiAgICAgICAgICAgIHdoaWxlIChqIDwgbiAmJiBhW2ogKyAxXSA9PSBhW2ldKSArK2o7CiAgICAgICAgICAgIGlmIChqIC0gaSArIDEgPCBwKXsKICAgICAgICAgICAgICAgIGZvciAoaW50IHUgPSBpIDsgdSA8PSBqIDsgKyt1KSArK2FbdV07CiAgICAgICAgICAgICAgICBwIC09IChqIC0gaSArIDEpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2V7CiAgICAgICAgICAgICAgICBmb3IgKGludCB1ID0gaiA7IHUgPj0gaiAtIHAgKyAxIDsgLS11KSArK2FbdV07CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgICAgICBpID0gaiArIDE7CiAgICAgICAgfQogICAgfQogICAgZm9yIChpbnQgaSA9IDEgOyBpIDw9IG4gOyArK2kpIGNvdXQgPDwgYVtpXSA8PCAiICI7Cn0KCnZvaWQgc3ViMigpewogICAgbG9uZyBsb25nIHRvbCA9IG0gKiBrOwogICAgaW50IGkgPSAxOwogICAgbG9uZyBsb25nIGNudCA9IDA7CiAgICB3aGlsZSAoaSA8PSBuKXsKICAgICAgICArK2NudDsKICAgICAgICBpbnQgaiA9IGk7CiAgICAgICAgd2hpbGUgKGogPCBuICYmIGFbaiArIDFdID09IGFbaV0pewogICAgICAgICAgICArK2o7CiAgICAgICAgICAgICsrY250OwogICAgICAgIH0KICAgICAgICBpZiAoaiA9PSBuKXsKICAgICAgICAgICAgZm9yIChpbnQgdSA9IDEgOyB1IDw9IGogOyArK3UpIGFbdV0gPSBhW2pdOwogICAgICAgICAgICBmb3IgKGludCB1ID0gMSA7IHUgPD0gaiA7ICsrdSkgYVt1XSArPSB0b2wgLyBjbnQ7CiAgICAgICAgICAgIGZvciAoaW50IHUgPSBqIDsgdSA+PSBqIC0gKHRvbCAlIGNudCkgKyAxIDsgLS11KSArK2FbdV07CiAgICAgICAgICAgIGZvciAoaW50IGkgPSAxIDsgaSA8PSBuIDsgKytpKSBjb3V0IDw8IGFbaV0gPDwgIiAiOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICAgIGlmICh0b2wgPD0gKGFbaiArIDFdIC0gYVtpXSkgKiBjbnQpewogICAgICAgICAgICBmb3IgKGludCB1ID0gMSA7IHUgPD0gaiA7ICsrdSkgYVt1XSA9IGFbal07CiAgICAgICAgICAgIGZvciAoaW50IHUgPSAxIDsgdSA8PSBqIDsgKyt1KSBhW3VdICs9IHRvbCAvIGNudDsKICAgICAgICAgICAgZm9yIChpbnQgdSA9IGogOyB1ID49IGogLSAodG9sICUgY250KSArIDEgOyAtLXUpICsrYVt1XTsKICAgICAgICAgICAgZm9yIChpbnQgaSA9IDEgOyBpIDw9IG4gOyArK2kpIGNvdXQgPDwgYVtpXSA8PCAiICI7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgdG9sIC09IChhW2ogKyAxXSAtIGFbaV0pICogY250OwogICAgICAgIGkgPSBqICsgMTsKICAgIH0KfQoKbG9uZyBsb25nIEJJVFtOXTsKCnZvaWQgdXBkYXRlKGludCB4ICwgbG9uZyBsb25nIHZhbCl7CiAgICB3aGlsZSAoeCA8PSBuKXsKICAgICAgICBCSVRbeF0gKz0gdmFsOwogICAgICAgIHggKz0geCAmIC14OwogICAgfQp9Cgpsb25nIGxvbmcgZ2V0KGludCB4KXsKICAgIGxvbmcgbG9uZyByZXMgPSAwOwogICAgd2hpbGUgKHggPiAwKXsKICAgICAgICByZXMgKz0gQklUW3hdOwogICAgICAgIHggLT0geCAmIC14OwogICAgfQogICAgcmV0dXJuIHJlczsKfQoKdm9pZCBzdWIzKCl7CiAgICBmb3IgKGludCBpID0gMSA7IGkgPD0gbiA7ICsraSkgdXBkYXRlKGkgLCBhW2ldIC0gYVtpIC0gMV0pOwogICAgd2hpbGUgKG0tLSl7CiAgICAgICAgaWYgKGdldChrICsgMSkgPiBnZXQoaykpewogICAgICAgICAgICB1cGRhdGUoMSAsIDEpOwogICAgICAgICAgICB1cGRhdGUoayArIDEgLCAtMSk7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KICAgICAgICBsb25nIGxvbmcgdCA9IGdldChrKTsKICAgICAgICBpbnQgbCA9IDEgLCByID0gayAsIG1pZCAsIHBvcyA9IDA7CiAgICAgICAgd2hpbGUgKGwgPD0gcil7CiAgICAgICAgICAgIG1pZCA9IChsICsgcikgPj4gMTsKICAgICAgICAgICAgaWYgKGdldChtaWQpIDwgdCl7CiAgICAgICAgICAgICAgICBwb3MgPSBtaWQ7CiAgICAgICAgICAgICAgICBsID0gbWlkICsgMTsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIHIgPSBtaWQgLSAxOwogICAgICAgIH0KICAgICAgICBpbnQgcCA9IGs7CiAgICAgICAgaWYgKHBvcyl7CiAgICAgICAgICAgIHVwZGF0ZSgxICwgMSk7CiAgICAgICAgICAgIHVwZGF0ZShwb3MgKyAxICwgLTEpOwogICAgICAgICAgICBwIC09IHBvczsKICAgICAgICB9CiAgICAgICAgbCA9IGsgKyAxICwgciA9IG4gLCBtaWQgLCBwb3M7CiAgICAgICAgd2hpbGUgKGwgPD0gcil7CiAgICAgICAgICAgIG1pZCA9IChsICsgcikgPj4gMTsKICAgICAgICAgICAgaWYgKGdldChtaWQpID09IHQpewogICAgICAgICAgICAgICAgcG9zID0gbWlkOwogICAgICAgICAgICAgICAgbCA9IG1pZCArIDE7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSByID0gbWlkIC0gMTsKICAgICAgICB9CiAgICAgICAgdXBkYXRlKHBvcyArIDEgLCAtMSk7CiAgICAgICAgdXBkYXRlKHBvcyAtIHAgKyAxICwgMSk7CiAgICB9CiAgICBmb3IgKGludCBpID0gMSA7IGkgPD0gbiA7ICsraSkgY291dCA8PCBnZXQoaSkgPDwgIiAiOwp9Cgp2b2lkIHNvbHZlKCl7CiAgICBpZiAobiA8PSAxZTMgJiYgbSA8PSAxZTMpewogICAgICAgIHN1YjEoKTsKICAgICAgICByZXR1cm47CiAgICB9CiAgICBpZiAoayA9PSAxKXsKICAgICAgICBzdWIyKCk7CiAgICAgICAgcmV0dXJuOwogICAgfQogICAgaWYgKGsgPT0gbil7CiAgICAgICAgZm9yIChpbnQgaSA9IDEgOyBpIDw9IG4gOyArK2kpIGNvdXQgPDwgYVtpXSArIG0gPDwgIiAiOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIGlmIChtIDw9IDFlNSl7CiAgICAgICAgc3ViMygpOwogICAgfQp9CgppbnQgbWFpbigpewovLyAgICBmcmVvcGVuKCJsZXZlbC5pbnAiICwgInIiICwgc3RkaW4pOwovLyAgICBmcmVvcGVuKCJsZXZlbC5vdXQiICwgInciICwgc3Rkb3V0KTsKICAgIGZhc3RlcjsKICAgIGlucCgpOwogICAgc29sdmUoKTsKICAgIHJldHVybiAwOwp9Cg==