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.
1
669278611
 10
10
52
91
23
44
99
28
54
99
51

334639303 334639307 1
 4 5 1
25 26 1
43 47 1
9 13 1
21 22 1
47 51 1
13 14 1
26 27 1
47 51 1
23 27 1



import java.util.*;
public class Codeforces {


	// CHECK CONSTRAINTS ALWAYS EDGE CASE MISSED 
	
static int mod = 1000000007;	
static boolean a[];

static ArrayList<Integer> al; 



public static void main(String[] args) {

Scanner sc=  new Scanner(System.in);

  while(sc.hasNext()) {

	 int t = sc.nextInt();
	 a = new boolean[100001];
	 al =  new ArrayList<>();	
	 sieve();
 
	 while(t-->0) {
  long n = sc.nextLong();
long a =0 , b = 0, c = 0;  
if(n%2 == 0) {
	a = n/2;
	b = a-1;
	c = 1;
	
}
else {
  c = 1;
  n = n-1;
for(int i = 0 ; i<al.size() ; i++) {
	long diff = n - al.get(i);
	
	if(diff %al.get(i) != 0) {
		a = al.get(i);
		b = diff;
 break;
	}
}
}

System.out.println(a +" "+b +" "+c);




  
  
	
		 
	 
	
     }

 
 }







	



 

}
 
static void sieve() {
	Arrays.fill(a, false);
	
	for(int i = 2; i*i<=100000 ; i++) {
		if(a[i] == false) {
			for(int j = i*i ; j<=100000 ; j+=i) {
				a[j] = true;
			}
		}
		
	}
	
	for(int i = 2 ; i<=100000 ; i++) {
		if(!a[i]) {
			al.add(i);
		}
	}
	
	
}
 
 }




        




		


        




		