You're given an array a of length 2n. Is it possible to reorder it in such way so that the sum of the first n elements isn't equal to the sum of the last n elements?

Input

The first line contains an integer n (1 ≤ n ≤ 1000), where 2n is the number of elements in the array a.

The second line contains 2n space-separated integers a_1, a_2, …, a_{2n} (1 ≤ a_i ≤ 10^6) — the elements of the array a.

Output

If there's no solution, print "-1" (without quotes). Otherwise, print a single line containing 2n space-separated integers. They must form a reordering of a. You are allowed to not change the order.

Examples

Input


3
1 2 2 1 3 1


Output


2 1 3 1 1 2

Input


1
1 1


Output


-1

Note

In the first example, the first n elements have sum 2+1+3=6 while the last n elements have sum 1+1+2=4. The sums aren't equal.

In the second example, there's no solution.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.StringTokenizer;
import java.util.Arrays;


public class Thanos {

	public static void main(String[]args) throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
	    PrintWriter pr = new PrintWriter(System.out);
	    int n = Integer.parseInt(br.readLine());
	    int[]x = new int[2*n];
    	StringTokenizer st = new StringTokenizer(br.readLine());
	    for(int i=0 ; i<2*n ;i++)
           x[i] = Integer.parseInt(st.nextToken());
	    int c=1;
	    for(int j=0 ; j<2*n-1 ; j++){
	    	if(x[j]==x[j+1])
	    		c++;
	    }
	    if(c==2*n)
	    	pr.println(-1);
	    else{
	    	Arrays.sort(x);
	        for(int k=0 ; k<2*n ;k++)
	        	pr.print(x[k] + " ");
	    }
	    	pr.flush();
	}
}