#include #include using namespace std; void generate_values(unsigned long long values[20]) { values[0] = 1; values[1] = 3; for (int i = 2; i < 20; i++) { values[i] = pow(3, i); } } int main() { unsigned long long values[20]; generate_values(values); int cases; cin >> cases; while (cases--) { int how_many; cin >> how_many; if (how_many == 1) { cout << 1 << endl; continue; } unsigned int count[20] = { 0 }; int index = 19; while (values[index] > how_many) { index--; } int end_index = index; while (index >= 0) { count[index] = how_many / values[index]; how_many -= values[index] * count[index]; index--; } for (int i = end_index; i >= 0; i--) { cout << count[i]; if (i != 0) { cout << " "; } } cout << endl; } return 0; }