Problem: You are given a number n and an array b_1, b_2, …, b_{n+2}, obtained according to the following algorithm: 

  * some array a_1, a_2, …, a_n was guessed; 
  * array a was written to array b, i.e. b_i = a_i (1 ≤ i ≤ n); 
  * The (n+1)-th element of the array b is the sum of the numbers in the array a, i.e. b_{n+1} = a_1+a_2+…+a_n; 
  * The (n+2)-th element of the array b was written some number x (1 ≤ x ≤ 10^9), i.e. b_{n+2} = x; The 
  * array b was shuffled. 



For example, the array b=[2, 3, 7, 12 ,2] it could be obtained in the following ways: 

  * a=[2, 2, 3] and x=12; 
  * a=[3, 2, 7] and x=2. 



For the given array b, find any array a that could have been guessed initially.

Input

The first line contains a single integer t (1 ≤ t ≤ 10^4). Then t test cases follow.

The first line of each test case contains a single integer n (1 ≤ n ≤ 2 ⋅ 10^5).

The second row of each test case contains n+2 integers b_1, b_2, …, b_{n+2} (1 ≤ b_i ≤ 10^9).

It is guaranteed that the sum of n over all test cases does not exceed 2 ⋅ 10^5.

Output

For each test case, output: 

  * "-1", if the array b could not be obtained from any array a; 
  * n integers a_1, a_2, …, a_n, otherwise. 



If there are several arrays of a, you can output any.

Example

Input


4
3
2 3 7 12 2
4
9 1 7 1 6 5
5
18 2 2 3 2 9 2
3
2 6 9 2 1


Output


2 3 7 
-1
2 2 2 3 9 
1 2 6 

Solution (in JAVA):

Solution:
import java.io.*;
import java.util.*;
import java.io.File;  // Import the File class
import java.io.FileNotFoundException;  // Import this class to handle errors
import java.util.Scanner; 
public class Main  {
	
	
	  public static void main(String args[])throws Exception
	    {
		  Scanner s=new Scanner(System.in);
			
			int t=s.nextInt();
			
			for(int ie=0;ie<t;ie++) {
				
				int m=s.nextInt();
				int n=m+2;
				Long[] arr=new Long[n];
				for(int i=0;i<n;i++) {
					arr[i]=s.nextLong();
				}
				Arrays.sort(arr);
				long sum=0;
				for(int i=0;i<n-2;i++) {
					sum=sum+arr[i];
				}
				if(sum==arr[n-2]) {
					for(int i=0;i<n-2;i++) 
					{
						System.out.print(arr[i]+" ");
					}
					System.out.println();
				}else{
					
					HashMap<Long,Integer> map=new HashMap<>();
					for(int i=0;i<n-1;i++) {
						map.put(arr[i], 1);
					}
					sum=sum+arr[n-2];
					if(map.containsKey(sum-arr[n-1])) {
						int g=0;
						for(int i=0;i<n-1;i++) {
							if(g==0 && arr[i]== sum-arr[n-1]) {
								g=1;
							}else {
								System.out.print(arr[i]+" ");
							}
						}
						System.out.println();
						
					}else{
					System.out.println(-1);
					}
				}
				
	        
	}
	    }
	  
	  void solve()
	  {
		  int n=4;
		  int c=15	;
		  
		  int a[]={1,3,10,11};
		  int b[]={1,2,7};
		  int rem=0;
		  int res=Integer.MAX_VALUE;
		  int rem1=0;
		  int j=0;
		  int tot=0;
		  for(int i=0;i<a.length;i++)
		  {
			  rem=rem1;
			  int i1=0;
			  while(rem<c)
			  {
				  rem+=a[i];
				  i1++;
			  }
			  res=Math.min(res, i1+tot);
			  if(i==n-1) 
              	break;
			  
			  
			   j=0;
			  rem1=0;
			  while(rem1<b[i])
			  {
				  rem1+=a[i];
				  j++;
			  }
			  tot+=j;
			  tot++;
			  rem1+=tot*a[i];
			  rem1-=b[i];
			  System.out.print("s");
		  }
		  System.out.print(res);
	  }
	
	  
	
}