#include <iostream>
using namespace std;
int main() {
cout<<"Zrobione";
return 0;
}/*#include <iostream>
#include <vector>
#include <queue>
using namespace std;
const long long INF = 1e18;
const int MAXN = 100005;
struct Edge {
int to;
int weight;
};
vector<Edge> adj[MAXN * 10];
long long dist[MAXN * 10];
int nodes_down[MAXN * 4], nodes_up[MAXN * 4];
int n, q, s, node_count;
void build(int v, int tl, int tr) {
if (tl == tr) {
nodes_down[v] = nodes_up[v] = tl;
return;
}
nodes_down[v] = ++node_count;
nodes_up[v] = ++node_count;
int tm = (tl + tr) / 2;
build(2 * v, tl, tm);
build(2 * v + 1, tm + 1, tr);
adj[nodes_down[v]].push_back({nodes_down[2 * v], 0});
adj[nodes_down[v]].push_back({nodes_down[2 * v + 1], 0});
adj[nodes_up[2 * v]].push_back({nodes_up[v], 0});
adj[nodes_up[2 * v + 1]].push_back({nodes_up[v], 0});
}
void add_edge(int v, int tl, int tr, int l, int r, int u, int w, int type) {
if (l > r) return;
if (l == tl && r == tr) {
if (type == 2) adj[u].push_back({nodes_down[v], w});
else adj[nodes_up[v]].push_back({u, w});
return;
}
int tm = (tl + tr) / 2;
add_edge(2 * v, tl, tm, l, min(r, tm), u, w, type);
add_edge(2 * v + 1, tm + 1, tr, max(l, tm + 1), r, u, w, type);
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
if (!(cin >> n >> q >> s)) return 0;
node_count = n;
build(1, 1, n);
for (int i = 0; i < q; ++i) {
int t;
cin >> t;
if (t == 1) {
int u, v, w;
cin >> v >> u >> w;
adj[v].push_back({u, w});
} else {
int v, l, r, w;
cin >> v >> l >> r >> w;
add_edge(1, 1, n, l, r, v, w, t);
}
}
for (int i = 1; i <= node_count; ++i) dist[i] = INF;
priority_queue<pair<long long, int>, vector<pair<long long, int>>, greater<pair<long long, int>>> pq;
dist[s] = 0;
pq.push({0, s});
while (!pq.empty()) {
long long d = pq.top().first;
int v = pq.top().second;
pq.pop();
if (d > dist[v]) continue;
for (auto &edge : adj[v]) {
if (dist[v] + edge.weight < dist[edge.to]) {
dist[edge.to] = dist[v] + (long long)edge.weight;
pq.push({dist[edge.to], edge.to});
}
}
}
for (int i = 1; i <= n; ++i) {
if (dist[i] == INF) cout << -1 << (i == n ? "" : " ");
else cout << dist[i] << (i == n ? "" : " ");
}
cout << endl;
return 0;
}*/
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7Cgljb3V0PDwiWnJvYmlvbmUiOwoJcmV0dXJuIDA7Cn0vKiNpbmNsdWRlIDxpb3N0cmVhbT4KI2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPHF1ZXVlPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNvbnN0IGxvbmcgbG9uZyBJTkYgPSAxZTE4Owpjb25zdCBpbnQgTUFYTiA9IDEwMDAwNTsKCnN0cnVjdCBFZGdlIHsKICAgIGludCB0bzsKICAgIGludCB3ZWlnaHQ7Cn07Cgp2ZWN0b3I8RWRnZT4gYWRqW01BWE4gKiAxMF07CmxvbmcgbG9uZyBkaXN0W01BWE4gKiAxMF07CmludCBub2Rlc19kb3duW01BWE4gKiA0XSwgbm9kZXNfdXBbTUFYTiAqIDRdOwppbnQgbiwgcSwgcywgbm9kZV9jb3VudDsKCnZvaWQgYnVpbGQoaW50IHYsIGludCB0bCwgaW50IHRyKSB7CiAgICBpZiAodGwgPT0gdHIpIHsKICAgICAgICBub2Rlc19kb3duW3ZdID0gbm9kZXNfdXBbdl0gPSB0bDsKICAgICAgICByZXR1cm47CiAgICB9CiAgICBub2Rlc19kb3duW3ZdID0gKytub2RlX2NvdW50OwogICAgbm9kZXNfdXBbdl0gPSArK25vZGVfY291bnQ7CiAgICBpbnQgdG0gPSAodGwgKyB0cikgLyAyOwogICAgYnVpbGQoMiAqIHYsIHRsLCB0bSk7CiAgICBidWlsZCgyICogdiArIDEsIHRtICsgMSwgdHIpOwogICAgCiAgICBhZGpbbm9kZXNfZG93blt2XV0ucHVzaF9iYWNrKHtub2Rlc19kb3duWzIgKiB2XSwgMH0pOwogICAgYWRqW25vZGVzX2Rvd25bdl1dLnB1c2hfYmFjayh7bm9kZXNfZG93blsyICogdiArIDFdLCAwfSk7CiAgICAKICAgIGFkaltub2Rlc191cFsyICogdl1dLnB1c2hfYmFjayh7bm9kZXNfdXBbdl0sIDB9KTsKICAgIGFkaltub2Rlc191cFsyICogdiArIDFdXS5wdXNoX2JhY2soe25vZGVzX3VwW3ZdLCAwfSk7Cn0KCnZvaWQgYWRkX2VkZ2UoaW50IHYsIGludCB0bCwgaW50IHRyLCBpbnQgbCwgaW50IHIsIGludCB1LCBpbnQgdywgaW50IHR5cGUpIHsKICAgIGlmIChsID4gcikgcmV0dXJuOwogICAgaWYgKGwgPT0gdGwgJiYgciA9PSB0cikgewogICAgICAgIGlmICh0eXBlID09IDIpIGFkalt1XS5wdXNoX2JhY2soe25vZGVzX2Rvd25bdl0sIHd9KTsKICAgICAgICBlbHNlIGFkaltub2Rlc191cFt2XV0ucHVzaF9iYWNrKHt1LCB3fSk7CiAgICAgICAgcmV0dXJuOwogICAgfQogICAgaW50IHRtID0gKHRsICsgdHIpIC8gMjsKICAgIGFkZF9lZGdlKDIgKiB2LCB0bCwgdG0sIGwsIG1pbihyLCB0bSksIHUsIHcsIHR5cGUpOwogICAgYWRkX2VkZ2UoMiAqIHYgKyAxLCB0bSArIDEsIHRyLCBtYXgobCwgdG0gKyAxKSwgciwgdSwgdywgdHlwZSk7Cn0KCmludCBtYWluKCkgewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKE5VTEwpOwoKICAgIGlmICghKGNpbiA+PiBuID4+IHEgPj4gcykpIHJldHVybiAwOwoKICAgIG5vZGVfY291bnQgPSBuOwogICAgYnVpbGQoMSwgMSwgbik7CgogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBxOyArK2kpIHsKICAgICAgICBpbnQgdDsKICAgICAgICBjaW4gPj4gdDsKICAgICAgICBpZiAodCA9PSAxKSB7CiAgICAgICAgICAgIGludCB1LCB2LCB3OwogICAgICAgICAgICBjaW4gPj4gdiA+PiB1ID4+IHc7CiAgICAgICAgICAgIGFkalt2XS5wdXNoX2JhY2soe3UsIHd9KTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBpbnQgdiwgbCwgciwgdzsKICAgICAgICAgICAgY2luID4+IHYgPj4gbCA+PiByID4+IHc7CiAgICAgICAgICAgIGFkZF9lZGdlKDEsIDEsIG4sIGwsIHIsIHYsIHcsIHQpOwogICAgICAgIH0KICAgIH0KCiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBub2RlX2NvdW50OyArK2kpIGRpc3RbaV0gPSBJTkY7CiAgICAKICAgIHByaW9yaXR5X3F1ZXVlPHBhaXI8bG9uZyBsb25nLCBpbnQ+LCB2ZWN0b3I8cGFpcjxsb25nIGxvbmcsIGludD4+LCBncmVhdGVyPHBhaXI8bG9uZyBsb25nLCBpbnQ+Pj4gcHE7CiAgICBkaXN0W3NdID0gMDsKICAgIHBxLnB1c2goezAsIHN9KTsKCiAgICB3aGlsZSAoIXBxLmVtcHR5KCkpIHsKICAgICAgICBsb25nIGxvbmcgZCA9IHBxLnRvcCgpLmZpcnN0OwogICAgICAgIGludCB2ID0gcHEudG9wKCkuc2Vjb25kOwogICAgICAgIHBxLnBvcCgpOwoKICAgICAgICBpZiAoZCA+IGRpc3Rbdl0pIGNvbnRpbnVlOwoKICAgICAgICBmb3IgKGF1dG8gJmVkZ2UgOiBhZGpbdl0pIHsKICAgICAgICAgICAgaWYgKGRpc3Rbdl0gKyBlZGdlLndlaWdodCA8IGRpc3RbZWRnZS50b10pIHsKICAgICAgICAgICAgICAgIGRpc3RbZWRnZS50b10gPSBkaXN0W3ZdICsgKGxvbmcgbG9uZyllZGdlLndlaWdodDsKICAgICAgICAgICAgICAgIHBxLnB1c2goe2Rpc3RbZWRnZS50b10sIGVkZ2UudG99KTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBuOyArK2kpIHsKICAgICAgICBpZiAoZGlzdFtpXSA9PSBJTkYpIGNvdXQgPDwgLTEgPDwgKGkgPT0gbiA/ICIiIDogIiAiKTsKICAgICAgICBlbHNlIGNvdXQgPDwgZGlzdFtpXSA8PCAoaSA9PSBuID8gIiIgOiAiICIpOwogICAgfQogICAgY291dCA8PCBlbmRsOwoKICAgIHJldHVybiAwOwp9Ki8=