← Home
write a go solution for Description:
Given an array a of length n, containing integers. And there are two initially empty arrays b and c. You need to add each element of array a to exactly one of the arrays b or c, in order to satisfy the following conditions:

- Both arrays b and c are non-empty. More formally, let l_b be the length of array b, and l_c be the length of array c. Then l_b,l_c>=1.
- For any two indices i and j (1<=i<=l_b,1<=j<=l_c), c_j is not a divisor of b_i.

Output the arrays b and c that can be obtained, or output -1 if they do not exist.

Input Format:
Each test consists of multiple test cases. The first line contains a single integer t (1<=t<=500) — the number of test cases. The description of the test cases follows.

The first line of each test case contains a single integer n (2<=n<=100) — the length of array a.

The second line of each test case contains n integers a_1,a_2,ldots,a_n (1<=a_i<=10^9) — the elements of array a.

Output Format:
For each test case, output a single integer -1 if a solution does not exist.

Otherwise, in the first line, output two integers l_b and l_c — the lengths of arrays b and c respectively.

In the second line, output l_b integers b_1,b_2,ldots,b_l_b — the elements of array b.

In the third line, output l_c integers c_1,c_2,ldots,c_l_c — the elements of array c.

If there are multiple solutions, output any of them. You can output the elements of the arrays in any order.

Note:
In the first test case, a solution does not exist.

In the second test case, we can obtain b=[1,3,5] and c=[2,4]. Then elements 2 and 4 do not divide elements 1,3 and 5.

In the fifth test case, we can obtain b=[4,8,4] and c=[12,12].. Output only the code with no comments, explanation, or additional text.