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.util.*;
  import java.lang.*;
  import java.io.*;
  
  public class Main
  {
  	PrintWriter out = new PrintWriter(System.out);
  	BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
      StringTokenizer tok = new StringTokenizer("");
      String next() throws IOException {
          if (!tok.hasMoreTokens()) { tok = new StringTokenizer(in.readLine()); }
          return tok.nextToken();
      }
      int ni() throws IOException { return Integer.parseInt(next()); }
      long nl() throws IOException { return Long.parseLong(next()); }
      int[] na(int n) throws IOException { int[]A=new int[n]; for (int i=0;i<n;i++) A[i]=ni(); return A; }
      
      long mod=1000000007;
      
      void solve() throws IOException {
          int[]P={3,5,7,11,13,17,19,23,29,31,37};
          for (int tc=ni();tc>0;tc--) {
              int n=ni();
              if (n%2==0) {
                  out.println("2 "+(n-3)+" 1");
              }
              else {
                  n--;
                  int i=0;
                  while (true) {
                      if (n%P[i]>0) {
                          out.println(P[i]+" "+(n-P[i])+" 1");
                          break;
                      }
                      i++;
                  }
              }
          }
          out.flush();
      }
      
      int gcd(int a,int b) { return(b==0?a:gcd(b,a%b)); }
      long gcd(long a,long b) { return(b==0?a:gcd(b,a%b)); }
      long mp(long a,long p) { long r=1; while(p>0) { if ((p&1)==1) r=(r*a)%mod; p>>=1; a=(a*a)%mod; } return r; }
      
      public static void main(String[] args) throws IOException {
          new Main().solve();
      }
  }