#include<bits/stdc++.h>
using namespace std;
using ll = long long;
void solve() {
int n, m, D, k; cin >> n >> m >> D >> k;
vector<int> r(k + 5), c(k + 5), s(k + 5);
vector<vector<int>> a(n + 5, vector<int>(m + 5, -1));
for (int i = 0; i < k; i++) {
cin >> r[i] >> c[i] >> s[i];
a[r[i]][c[i]] = s[i];
}
vector<vector<int>> h(n + 5, vector<int>(m + 5, 0));
for (int i = 1; i <= n; i++)
for (int j = 1; j <= m; j++)
if (a[i][j] != -1) {
h[i][j + 1] = (a[i][j] - h[i][j]) % D;
if (h[i][j + 1] < 0) h[i][j + 1] += D;
}
for (int i = 0; i < k; i++)
cout << h[r[i]][c[i]] << ' ' << 0 << ' ' << h[r[i]][c[i] + 1] << ' ' << 0 << '\n';
}
int main() {
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define TASK "GAME"
if (fopen(TASK".INP", "r")) {
freopen(TASK".INP", "r", stdin);
freopen(TASK".OUT", "w", stdout);
}
int tests = 1; // cin >> tests;
while (tests--) solve();
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnVzaW5nIGxsID0gbG9uZyBsb25nOwoKdm9pZCBzb2x2ZSgpIHsKICAgIGludCBuLCBtLCBELCBrOyBjaW4gPj4gbiA+PiBtID4+IEQgPj4gazsKICAgIHZlY3RvcjxpbnQ+IHIoayArIDUpLCBjKGsgKyA1KSwgcyhrICsgNSk7CiAgICB2ZWN0b3I8dmVjdG9yPGludD4+IGEobiArIDUsIHZlY3RvcjxpbnQ+KG0gKyA1LCAtMSkpOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBrOyBpKyspIHsKICAgICAgICBjaW4gPj4gcltpXSA+PiBjW2ldID4+IHNbaV07CiAgICAgICAgYVtyW2ldXVtjW2ldXSA9IHNbaV07IAogICAgfQogICAgdmVjdG9yPHZlY3RvcjxpbnQ+PiBoKG4gKyA1LCB2ZWN0b3I8aW50PihtICsgNSwgMCkpOwogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKQogICAgICAgIGZvciAoaW50IGogPSAxOyBqIDw9IG07IGorKykKICAgICAgICAgICAgaWYgKGFbaV1bal0gIT0gLTEpIHsKICAgICAgICAgICAgICAgIGhbaV1baiArIDFdID0gKGFbaV1bal0gLSBoW2ldW2pdKSAlIEQ7CiAgICAgICAgICAgICAgICBpZiAoaFtpXVtqICsgMV0gPCAwKSBoW2ldW2ogKyAxXSArPSBEOwogICAgICAgICAgICB9CiAgICBmb3IgKGludCBpID0gMDsgaSA8IGs7IGkrKykKICAgICAgICBjb3V0IDw8IGhbcltpXV1bY1tpXV0gPDwgJyAnIDw8IDAgPDwgJyAnIDw8IGhbcltpXV1bY1tpXSArIDFdIDw8ICcgJyA8PCAwIDw8ICdcbic7Cn0KCmludCBtYWluKCkgewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsgY2luLnRpZSgwKTsgY291dC50aWUoMCk7CgogICAgI2RlZmluZSBUQVNLICJHQU1FIgogICAgaWYgKGZvcGVuKFRBU0siLklOUCIsICJyIikpIHsKICAgICAgICBmcmVvcGVuKFRBU0siLklOUCIsICJyIiwgc3RkaW4pOwogICAgICAgIGZyZW9wZW4oVEFTSyIuT1VUIiwgInciLCBzdGRvdXQpOwogICAgfQoKICAgIGludCB0ZXN0cyA9IDE7IC8vIGNpbiA+PiB0ZXN0czsKICAgIHdoaWxlICh0ZXN0cy0tKSBzb2x2ZSgpOwoKICAgIHJldHVybiAwOwp9Cg==