#include using namespace std; void maximize(unsigned int maxCargo){ unsigned int i = 1; unsigned int dimension = 1; while(dimension <= maxCargo){ i++; dimension *= 3; } int array[i-1]; for(unsigned int j = 0; j < i - 1; j++)array[j] = 0; dimension /= 3; array[i-2]++; maxCargo -= dimension; int m = i; i -= 2; while(maxCargo > 0){ if(maxCargo < dimension){ dimension /= 3; i--; }else{ maxCargo -= dimension; array[i]++; } } for(int k = m - 2; k >= 0; k--){ if(k == 0)cout << array[k] << endl; else{ cout << array[k] << " "; } } } int main() { unsigned int numberOfLines = 0; cin >> numberOfLines; if(numberOfLines >= 10000000) return 0; for(unsigned int i = 0; i < numberOfLines; i++){ unsigned int maxCargo = 0; cin >> maxCargo; maximize(maxCargo); } return 0; }