You are given $n$ positive integers $x_1, x_2, \dots , x_n$ and three positive integers $n_a$, $n_b$, $n_c$ satisfying $n_a + n_b + n_c = n$.
You want to split the n positive integers into three groups, so that:
Determine if this is possible. If this is possible, find one way to do so.
Each test contains multiple test cases. The first line contains an integer $t$ ($1 ≤ t ≤ 100\, 000$) — the number of test cases. The descriptions of the $t$ test cases follow.
The first line of each test case contains the integers $n$, $n_a$, $n_b$, $n_c$ ($3 ≤ n ≤ 200\, 000$, $1 ≤ n_a, n_b, n_c ≤ n - 2$, $n_a + n_b + n_c = n$) — the number of integers to split into three groups, and the desired sizes of the three groups.
The second line of each test case contains $n$ integers $x_1, x_2, \dots , x_n$ ($1 ≤ x_i ≤ 10^9$).
It is guaranteed that the sum of $n$ over all test cases does not exceed $200\, 000$.
For each test case, print YES if it is possible to split the numbers into three groups satisfying all the conditions. Otherwise, print NO.
If such a split exists, then describe the three groups as follows.
On the next line, print $n_a$ integers $a_1, a_2, \dots, a_{n_a}$ — the numbers in the first group.
On the next line, print $n_b$ integers $b_1, b_2, \dots , b_{n_b}$ — the numbers in the second group.
On the next line, print $n_c$ integers $c_1, c_2, \dots , c_{n_c}$ — the numbers in the third group.
These $n_a + n_b + n_c = n$ integers should be a permutation of $x_1, x_2, \dots , x_n$, and they should satisfy the conditions from the statement.
If there are multiple solutions, print any of them.