description: Given a positive integer n. Find three distinct positive integers a, b, c such that a + b + c = n and \operatorname{gcd}(a, b) = c, where \operatorname{gcd}(x, y) denotes the [greatest common divisor (GCD)](https://en.wikipedia.org/wiki/Greatest_common_divisor) of integers x and y.
  
  Input
  
  The input consists of multiple test cases. The first line contains a single integer t (1 ≤ t ≤ 10^5) — the number of test cases. Description of the test cases follows.
  
  The first and only line of each test case contains a single integer n (10 ≤ n ≤ 10^9).
  
  Output
  
  For each test case, output three distinct positive integers a, b, c satisfying the requirements. If there are multiple solutions, you can print any. We can show that an answer always exists.
  
  Example
  
  Input
  
  
  6
  18
  63
  73
  91
  438
  122690412
  
  
  Output
  
  
  6 9 3
  21 39 3
  29 43 1
  49 35 7
  146 219 73
  28622 122661788 2
  
  Note
  
  In the first test case, 6 + 9 + 3 = 18 and \operatorname{gcd}(6, 9) = 3.
  
  In the second test case, 21 + 39 + 3 = 63 and \operatorname{gcd}(21, 39) = 3.
  
  In the third test case, 29 + 43 + 1 = 73 and \operatorname{gcd}(29, 43) = 1.
solution: /* package codechef; // don't place package name! */
  
  import java.util.*;
  
  import java.lang.*;
  import java.io.*; 
  
  /* Name of the class has to be "Main" only if the class is public. */
  public class Codechef{		
  	public static void main (String[] args) throws java.lang.Exception{
  		// your code goes here
  	//	FastReader sc = new FastReader();
  	   // PrintWriter out = new PrintWriter(System.out, true);
  		FastReader sc = new FastReader();
  	    PrintWriter out = new PrintWriter(System.out, true);
  	    int t=sc.nextInt();
  	    while(t-->0) {
  	    long n =sc.nextLong();
  	    if(n%2==0) {
  	    	System.out.println(n-3+" 2"+" 1");
  	    }else {
  	    	if((n/2-1)%2==0)
  	    		System.out.println((n/2-2)+" "+(n/2+2)+" 1");
  	    	else
  	    		System.out.println((n/2-1)+" "+(n/2+1)+" 1");
  	    }
  	    }
  		
  		
  	}
  		static class FastReader {
  	    BufferedReader in;
  	    StringTokenizer st;
  	    
  	    public FastReader() {
  	        in = new BufferedReader(new InputStreamReader(System.in));
  	    }
  	    
  	    String next() {
  	        while (st == null || !st.hasMoreElements()) {
  	            try {
  	                st = new StringTokenizer(in.readLine());
  	            }
  	            catch (Exception IO) {
  	                IO.printStackTrace();
  	            }
  	        }
  	        
  	        return st.nextToken();
  	    }
  	    
  	    long nextLong() {
  	        return Long.parseLong(next());
  	    }
  	    
  	    int nextInt() {
  	        return Integer.parseInt(next());
  	    }
  	    
  	    Double nextDouble() {
  	        return Double.parseDouble(next());
  	    }
  	    
  	    String nextLine() {
  	        String str = "";
  	        try {
  	            str = in.readLine();
  	        } catch(Exception IO) {
  	            IO.printStackTrace();
  	        }
  	        
  	        return str;
  	    }
  	    
  	    long[] nextLongArray(int size) {
  	        long[] arr = new long[size];
  	        
  	        for (int i = 0; i < size; i++) {
  	            arr[i] = this.nextLong();
  	        }
  	        
  	        return arr;
  	    }
  	    
  	    int[] nextIntegerArray(int size) {
  	        int[] arr = new int[size];
  	        
  	        for (int i = 0; i < size; i++) {
  	            arr[i] = this.nextInt();
  	        }
  	        
  	        return arr;
  	    }
  	    
  	    double[] nextDoubleArray(int size) {
  	        double[] arr = new double[size];
  	        
  	        for (int i = 0; i < size; i++) {
  	            arr[i] = this.nextDouble();
  	        }
  	        
  	        return arr;
  	    }
  	    
  	    void printArray(Object[] arr) {
  	        for (int i = 0; i < arr.length; i++) {
  	            System.out.println(arr[i] + " ");
  	        }
  	        System.out.println();
  	    }
  	}
  }