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: #include <bits/stdc++.h>
  using namespace std;
  const long long infl = 0x3f3f3f3f3f3f3f3fLL;
  const long long mod = (long long)1e9 + 7;
  vector<long long> primes;
  void simpleSieve(long long lmt, vector<long long>& prime) {
    bool mark[lmt + 1];
    memset(mark, false, sizeof(mark));
    for (long long i = 2; i <= lmt; ++i) {
      if (!mark[i]) {
        prime.push_back(i);
        for (long long j = i; j <= lmt; j += i) {
          mark[j] = true;
        }
      }
    }
  }
  long long gcd(long long a, long long b) { return b ? gcd(b, a % b) : a; }
  void solve() {
    long long n;
    cin >> n;
    long long c = 1;
    for (auto x : primes) {
      long long a = n - x - 1;
      long long b = x;
      if (gcd(a, b) == 1) {
        cout << a << " " << b << " " << c << "\n";
        return;
      }
    }
  }
  signed main() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    cout << fixed << setprecision(20);
    long long tt;
    tt = 1;
    simpleSieve(1000000, primes);
    cin >> tt;
    while (tt--) {
      solve();
    }
    return 0;
  }
  