import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; /** * * @author kuric10 */ public class Lode { private static long k,pocTC,kk; private static int price; private static int hmotnost; private static int pointer; private static long pole[][] = new long [10000][2]; /** * @param args the command line arguments */ public static void main(String[] args)throws IOException{ // TODO code application logic here BufferedReader input = new BufferedReader(new InputStreamReader(System.in)); String s; pointer = 1; pole[0][0]=1; pole[0][1]=1; while(pole[pointer-1][0]<10000000){ pole[pointer][0]=pole[pointer-1][0]*3; pole[pointer][1]=pole[pointer-1][0]*2+pole[pointer-1][1]*3; // System.out.println( pole[pointer][0]+" "+ pole[pointer][1]); pointer++; } pocTC = Integer.parseInt(input.readLine()); for (int i = 0; i < pocTC; i++) { k = Integer.parseInt(input.readLine()); kk=k; for (int j = pointer-1; j > 0; j--) { if(pole[j][0]<=kk){ System.out.print((k/pole[j][0])+" "); k=k%pole[j][0]; } } System.out.println(k); } } }