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.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
			Scanner in =new Scanner(System.in);
			int a =in.nextInt();
			int []arr = new int[a*2];
			for(int i=0;i<2*a;i++) {
				arr[i]=in.nextInt();
			}
			int b =arr[0];
			boolean sb= true;
			int sum1=0,sum2=0;
			int min=-1,max=-1;
			int min2=99999999,max2=-1;
			for(int i=0;i<a*2;i++) {
				if(b!=arr[i] ) {
					sb=false;
				}
				if(i<a) {
					sum1+=arr[i];
					if(arr[i]<min2) {
						min2=arr[i];
						min=i;
					}
				}else {
					sum2+=arr[i];
					if(arr[i]>max2) {
						max2=arr[i];
						max=i;
					}
				}
			}
			if(sb) {
				System.out.println("-1");
			}else {
				if(sum1!=sum2) {
					String x ="";
					for(int i=0;i<2*a-1;i++) {
						x+=arr[i]+" ";
					}
					x+=arr[2*a-1];
					System.out.println(x);
				}else {
					int j=arr[min];
					arr[min]=arr[max];
					arr[max]=j;
					String x ="";
					for(int i=0;i<2*a-1;i++) {
						x+=arr[i]+" ";
					}
					x+=arr[2*a-1];
					System.out.println(x);
				}
				
			}
	}

}
