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: import java.io.BufferedReader;
  import java.io.IOException;
  import java.io.InputStreamReader;
  import java.io.PrintWriter;
  import java.util.StringTokenizer;
  
  public class b {
  	public static void main(String[] args) {
  		FastScanner scan=new FastScanner();
  		PrintWriter out=new PrintWriter(System.out);
  		
  		int t=scan.nextInt();
  		for(int tt=0;tt<t;tt++) {
  			int n=scan.nextInt();
  			if(n%2==0) {
  				out.println((n-3)+" "+2+" "+1);
  			}
  			else {
  				int a=n/2+1, b=n/2-1, c=1;
  				while(gcd(a,b)!=1) {
  					a++;
  					b--;
  				}
  				out.println(a+" "+b+" "+c);
  			}
  		}
  		
  		out.close();
  	}
  	public static int gcd(int a, int b) {
  		if(b==0) return a;
  		return gcd(b,a%b);
  	}
  	static class FastScanner {
  		BufferedReader br;
  		StringTokenizer st;
  
  		public FastScanner() {
  			try	{
  				br = new BufferedReader(new InputStreamReader(System.in));
  				st = new StringTokenizer(br.readLine());
  			} catch (Exception e){e.printStackTrace();}
  		}
  
  		public String next() {
  			if (st.hasMoreTokens())	return st.nextToken();
  			try {st = new StringTokenizer(br.readLine());}
  			catch (Exception e) {e.printStackTrace();}
  			return st.nextToken();
  		}
  
  		public int nextInt() {return Integer.parseInt(next());}
  
  		public long nextLong() {return Long.parseLong(next());}
  
  		public double nextDouble() {return Double.parseDouble(next());}
  
  		public String nextLine() {
  			String line = "";
  			if(st.hasMoreTokens()) line = st.nextToken();
  			else try {return br.readLine();}catch(IOException e){e.printStackTrace();}
  			while(st.hasMoreTokens()) line += " "+st.nextToken();
  			return line;
  		}
  	}
  }