#include <bits/stdc++.h>
#include "scales.h"
#ifdef LOCAL
#include "graderlib.c"
#endif
using namespace std;
void init(int T) {
}
void ans(int a, int b, int c, int d, int e, int f) {
int w[] = {a, b, c, d, e, f};
answer(w);
}
void ans(vector<int> w) {
int ret[6];
for (int i = 0; i < 6; i++) {
ret[i] = w[i];
}
answer(ret);
}
vector<int> topsort(vector<vector<int>> &g) {
int n = 7;
vector<int> in(n);
for (int i = 1; i < n; i++) {
for (auto j : g[i]) {
in[j]++;
}
}
queue<int> q;
for (int i = 1; i < n; i++) {
if (in[i] == 0) {
q.push(i);
}
}
vector<int> ret;
while (!q.empty()) {
int u = q.front();
ret.push_back(u);
q.pop();
for (auto v : g[u]) {
if (--in[v] == 0) {
q.push(v);
}
}
}
return ret;
}
void orderCoins() {
int a = getLightest(1, 2, 3);
int b = getMedian(1, 2, 3);
int c = 6 - a - b;
int d = getLightest(4, 5, 6);
int e = getMedian(4, 5, 6);
int f = 15 - d - e;
int mx = getHeaviest(c, f, a);
if (mx == c) {
swap(a, d);
swap(b, e);
swap(c, f);
}
int x = getNextLightest(d, e, f, a);
int y = getNextLightest(d, e, f, b);
int z = getNextLightest(d, e, f, c);
// cout << a << ' ' << b << ' ' << c << '\n';
// cout << d << ' ' << e << ' ' << f << '\n';
// cout << x << ' ' << y << ' ' << z << '\n';
vector<vector<int>> g(7);
g[a].push_back(x);
if (x == f) {
g[e].push_back(a);
}
if (x == e) {
g[d].push_back(a);
}
g[b].push_back(y);
if (y == f) {
g[e].push_back(b);
}
if (y == e) {
g[d].push_back(b);
}
g[c].push_back(z);
if (z == f) {
g[e].push_back(c);
}
if (z == e) {
g[d].push_back(c);
}
g[a].push_back(b);
g[b].push_back(c);
g[d].push_back(e);
g[e].push_back(f);
ans(topsort(g));
// int z = a;
// if (x == a && y == a && z == a) {
// // fucking 8th call
// int k = getNextLightest(d, e, f, a);
// if (k == e) {
// ans(d, a, b, c, e, f);
// } else if (k == f) {
// ans(d, e, a, b, c, f);
// } else {
// ans(a, b, c, d, e, f);
// }
// } else {
// vector<vector<int>> g(7);
// g[a].push_back(b);
// g[b].push_back(c);
// g[d].push_back(e);
// g[e].push_back(f);
// g[c].push_back(f);
// g[d].push_back(x);
// if (x == c) {
// g[b].push_back(d);
// } else if (x == b) {
// g[a].push_back(d);
// }
// if (y != a) {
// g[e].push_back(y);
// if (y == c) {
// g[b].push_back(e);
// } else {
// g[a].push_back(e);
// }
// } else {
// g[c].push_back(e);
// }
// vector<int> r = topsort(g);
// ans(r);
// }
}