#include #include using namespace std; int* createTable(int maxDim) { int *table = new int[maxDim + 1]; table[0] = 1; for ( int i = 1; i <= maxDim; i++ ) table[i] = 3 * table[i - 1]; return table; } void printRes( int * table, int cargo ) { int tmpArr[16]; int i = log(cargo)/log(3); int tmp = i; for ( ; i >= 0; i--) { tmpArr[i] = cargo/table[i]; cargo = cargo%table[i]; } for ( int i = tmp; i >= 0; i-- ) { cout << tmpArr[i]; if ( i != 0 ) cout << " "; } cout << endl; } int main () { int maxDim = log(10000000)/log(3); int * table = createTable(maxDim); int cases = 0; int maxCargo = 0; cin >> cases; for ( int i = 0; i < cases; i++ ) { cin >> maxCargo; printRes(table, maxCargo); } delete [] table; return 0; }