#include <bits/stdc++.h>
using namespace std;
int main(){
long int n, k, x;
cin >> n >> k >> x;
long int arr[n], max, min, min_idx, max_idx;
bool a = true;
for (long int i = 0; i < n; ++i)
{
cin >> arr[i];
}
for (long int i = 0; i < k; ++i)
{
min = INT_MAX;
max = INT_MIN;
min_idx = -1;
max_idx = -1;
for (long int j = 0; j < n; ++j)
{
if(arr[j] < 0)
a = !a;
}
for (long int j = 0; j < n; ++j)
{
if(arr[j] >= 0 && arr[j] < min){
min = arr[j];
min_idx = j;
}
}
for (long int j = 0; j < n; ++j)
{
if(arr[j] < 0 && arr[j] > max){
max = arr[j];
max_idx = j;
}
}
//cout << a << " " << min << " "<< min_idx <<" " << max<< " " <<max_idx ;
if(a){
if(max_idx == -1)
arr[min_idx] -= x;
else{
if(min < ((-1)*max))
arr[min_idx] -= x;
else
arr[max_idx] += x;
}
}
else{
if(min_idx == -1)
arr[max_idx] += x;
else{
if(min < ((-1)*max))
arr[min_idx] += x;
else
arr[max_idx] -= x;
}
}
//cout << '\n';
}
for (int i = 0; i < n; ++i)
{
cout << arr[i] << " ";
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpewoJbG9uZyBpbnQgbiwgaywgeDsKCWNpbiA+PiBuID4+IGsgPj4geDsKCWxvbmcgaW50IGFycltuXSwgbWF4LCBtaW4sIG1pbl9pZHgsIG1heF9pZHg7Cglib29sIGEgPSB0cnVlOwoJZm9yIChsb25nIGludCBpID0gMDsgaSA8IG47ICsraSkKCXsKCQljaW4gPj4gYXJyW2ldOwoJfQoJZm9yIChsb25nIGludCBpID0gMDsgaSA8IGs7ICsraSkKCXsKCQltaW4gPSBJTlRfTUFYOwoJCW1heCA9IElOVF9NSU47CgkJbWluX2lkeCA9IC0xOwoJCW1heF9pZHggPSAtMTsKCQlmb3IgKGxvbmcgaW50IGogPSAwOyBqIDwgbjsgKytqKQoJCXsKCQkJaWYoYXJyW2pdIDwgMCkKCQkJCWEgPSAhYTsKCQl9CgkJZm9yIChsb25nIGludCBqID0gMDsgaiA8IG47ICsraikKCQl7CgkJCWlmKGFycltqXSA+PSAwICYmIGFycltqXSA8IG1pbil7CgkJCQltaW4gPSBhcnJbal07CgkJCQltaW5faWR4ID0gajsKCQkJfQoJCX0KCQlmb3IgKGxvbmcgaW50IGogPSAwOyBqIDwgbjsgKytqKQoJCXsKCQkJaWYoYXJyW2pdIDwgMCAmJiBhcnJbal0gPiBtYXgpewoJCQkJbWF4ID0gYXJyW2pdOwoJCQkJbWF4X2lkeCA9IGo7CgkJCX0KCQl9CgkJLy9jb3V0IDw8IGEgPDwgIiAiIDw8IG1pbiA8PCAiICI8PCBtaW5faWR4IDw8IiAiIDw8IG1heDw8ICIgIiA8PG1heF9pZHggOyAKCQlpZihhKXsKCQkJaWYobWF4X2lkeCA9PSAtMSkKCQkJCWFyclttaW5faWR4XSAtPSB4OwoJCQllbHNlewoJCQkJaWYobWluIDwgKCgtMSkqbWF4KSkKCQkJCQlhcnJbbWluX2lkeF0gLT0geDsKCQkJCWVsc2UKCQkJCQlhcnJbbWF4X2lkeF0gKz0geDsKCQkJfQoJCX0KCQllbHNlewoJCQlpZihtaW5faWR4ID09IC0xKQoJCQkJYXJyW21heF9pZHhdICs9IHg7CgkJCWVsc2V7CgkJCQlpZihtaW4gPCAoKC0xKSptYXgpKQoJCQkJCWFyclttaW5faWR4XSArPSB4OwoJCQkJZWxzZQoJCQkJCWFyclttYXhfaWR4XSAtPSB4OwoJCQl9CgkJfQoJCS8vY291dCA8PCAnXG4nOwoJfQoKCWZvciAoaW50IGkgPSAwOyBpIDwgbjsgKytpKQoJewoJCWNvdXQgPDwgYXJyW2ldIDw8ICIgIjsKCX0KCXJldHVybiAwOwp9