#include <bits/stdc++.h>
using namespace std;
const int N = 1e6 + 100, mod = 998244353;
int T, n, k;
int a[N], inv[N];
inline int lowbit(int x) {return x & -x;}
int main() {
ios::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
inv[0] = inv[1] = 1;
for(int i = 2; i <= N - 1; i++) inv[i] = (mod - mod / i) * inv[mod % i];
for(cin >> T; T; --T) {
cin >> n >> k;
for(int i = 1; i <= n; i++) cin >> a[i];
for(int i = 1; i <= n; i++){
int mul = 1;
for(int u = i + lowbit(i), d = 1; u <= n; u += lowbit(u), ++d) {
mul *= (d + k - 1) * inv[d];
a[u] -= mul * a[i];
}
}
for(int i = 1; i <= n; i++){
cout << a[i] << " \n"[i == n];
}
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmNvbnN0IGludCBOID0gMWU2ICsgMTAwLCBtb2QgPSA5OTgyNDQzNTM7CmludCBULCBuLCBrOwppbnQgYVtOXSwgaW52W05dOwogCmlubGluZSBpbnQgbG93Yml0KGludCB4KSB7cmV0dXJuIHggJiAteDt9CiAKaW50IG1haW4oKSB7CiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKICAgIGludlswXSA9IGludlsxXSA9IDE7CiAgICBmb3IoaW50IGkgPSAyOyBpIDw9IE4gLSAxOyBpKyspIGludltpXSA9IChtb2QgLSBtb2QgLyBpKSAqIGludlttb2QgJSBpXTsKICAgIGZvcihjaW4gPj4gVDsgVDsgLS1UKSB7CiAgICAgICAgY2luID4+IG4gPj4gazsKICAgICAgICBmb3IoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgY2luID4+IGFbaV07CiAgICAgICAgZm9yKGludCBpID0gMTsgaSA8PSBuOyBpKyspewogICAgICAgICAgICBpbnQgbXVsID0gMTsKICAgICAgICAgICAgZm9yKGludCB1ID0gaSArIGxvd2JpdChpKSwgZCA9IDE7IHUgPD0gbjsgdSArPSBsb3diaXQodSksICsrZCkgewogICAgICAgICAgICAgICAgbXVsICo9IChkICsgayAtIDEpICogaW52W2RdOwogICAgICAgICAgICAgICAgYVt1XSAtPSBtdWwgKiBhW2ldOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGZvcihpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKXsKICAgICAgICAJY291dCA8PCBhW2ldIDw8ICIgXG4iW2kgPT0gbl07CiAgICAgICAgfSAKICAgIH0KICAgIHJldHVybiAwOwp9