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.util.StringTokenizer;
  /**
   *
   * @author Imtiaz Adar
   */
  public class x1617B {
      public static int gcd(int a, int b){
          return (b == 0) ? a : gcd(b, a % b);
      }
      public static void main(String[] args) {
          InputStreamReader inputReader = new InputStreamReader(System.in);
          BufferedReader reader = new BufferedReader(inputReader);
          StringTokenizer token = new StringTokenizer("");
          InputReader scan = new InputReader(reader, token);
          int N = scan.nextInt();
          while(N > 0){
              int num = scan.nextInt();
              for(int target = 2;;target++){
                  if(gcd(num - 1 - target, target) != 1){
                      continue;
                  }
                  else if(gcd(num - 1 - target, target) == 1){
                      System.out.println((num - 1 - target) + " " + target + " " + 1);
                      if(num - 1 - target <= 1){
                          throw null;
                      }
                      break;
                  }
              }
              N--;
          }
      }
      static class InputReader{
          private BufferedReader reader;
          private StringTokenizer token;
          InputReader(BufferedReader reader, StringTokenizer token){
              this.reader = reader;
              this.token = token;
          }
          String next(){
              while(!token.hasMoreTokens()) {
                  try {
                      token = new StringTokenizer(reader.readLine());
                  }
                  catch(IOException e) {
                      e.printStackTrace();
                  }
              }
              return token.nextToken();
          }
          String nextLine() {
              String str = "";
              try{
                  str = reader.readLine();
              }
              catch(IOException e) {
                  e.printStackTrace();
              }
              return str;
          }
          int nextInt() {
              return Integer.parseInt(next());
          }
          long nextLong() {
              return Long.parseLong(next());
          }
          double nextDouble() {
              return Double.parseDouble(next());
          }
          int[] readIntArray(int size) {
              int[] arr = new int[size];
              for(int i = 0; i < arr.length; i++) {
                  arr[i] = nextInt();
              }
              return arr;
          }
      }
  }
  