#include #include #include using namespace std; int main(void) { int cases; cin >> cases; for (int i = 0; i < cases; i++) { long long int k; cin >> k; //cin >> k; //cout << "::" << k << endl; if (k == 1) { cout << 1 << endl; continue; } /* vector dims; vector dims_ball; dims.push_back(1); dims_ball.push_back(1); while (dims.back() < k) { long long int balls = dims_ball.back() * 3; long long int weight = dims_ball.back() * 2 + (dims.back() - dims_ball.back()) * 3; //cout << balls << " | " << weight + balls << endl; dims.push_back(weight + balls); dims_ball.push_back(balls); } long long int last = dims.size() - 2; */ /* while (k > 0) { cout << endl << k << "/" << dims[last] << endl << endl; long long int count = k / dims[last]; k -= count * dims[last]; cout << count; if (k > 0) cout << " "; last--; } cout << endl; */ long long int max = 0; long long int sum = 0; while (pow(3, max) < k) max++; //max--; bool first=true; while (k > 0) { long long int weight = pow(3, max); long long int count = k / weight; if (count == 0 && first) { max--; first = false; continue; } k -= count * weight; sum += count * weight; cout << count; if (k > 0) cout << " "; else { for (; max > 0; max--) cout << " 0"; } max--; first = false; } cout << endl; //cout << sum << endl; } return 0; }