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.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.*;
 
public class oK{
		    void pre() throws Exception{}
		    void solve(int TC) throws Exception{
		    	int n=ni();
		   Integer a[]=new Integer[2*n];
		   int sum1=0;
		   int sum2=0;
		   //int a[]=new int[n];
		   for(int i=0;i<2*n;i++) {
			   a[i]=ni();
		   }
		   Arrays.sort(a);
		   for(int i=0;i<n;i++) {
			 
			   sum1+=a[i];
		   }
		   for(int i=n;i<2*n;i++) {
				 
			   sum2+=a[i];
		   }
		   
		   
		   if(sum1!=sum2) {
			   
			   for(int i=0;i<2*n;i++) {
				   p(a[i] + " ");
			   }
			
			   
		   }
		   else pn("-1");
		    	}
		        
		    
		    		
		    		
		    		
		    		
		    
		    
		    
		    
		    
		   // void hold(boolean b)throws Exception{if(!b)throw new Exception("Hold right there, Sparky!");}
		    static boolean multipleTC = false, memory = false;
		    FastReader in;PrintWriter out;
		    void run() throws Exception{
		        in = new FastReader();
		        out = new PrintWriter(System.out);
		        int T = (multipleTC)?ni():1;
		        pre();for(int t = 1; t<= T; t++)solve(t);
		        out.flush();
		        out.close();
		    }
		    public static void main(String[] args) throws Exception{
		        if(memory)new Thread(null, new Runnable() {public void run(){try{new oK().run();}catch(Exception e){e.printStackTrace();}}}, "1", 1 << 28).start();
		        else new oK().run();
		    }
		    void p(Object o){out.print(o);}
		    void pn(Object o){out.println(o);}
		    void pni(Object o){out.println(o);out.flush();}
		    String n()throws Exception{return in.next();}
		    String nln()throws Exception{return in.nextLine();}
		    int ni()throws Exception{return Integer.parseInt(in.next());}
		    long nl()throws Exception{return Long.parseLong(in.next());}
		
		    class FastReader{
		        BufferedReader br;
		        StringTokenizer st;
		        public FastReader(){
		            br = new BufferedReader(new InputStreamReader(System.in));
		        }
		
		        public FastReader(String s) throws Exception{
		            br = new BufferedReader(new FileReader(s));
		        }
		
		        String next() throws Exception{
		            while (st == null || !st.hasMoreElements()){
		                try{
		                    st = new StringTokenizer(br.readLine());
		                }catch (IOException  e){
		                    throw new Exception(e.toString());
		                }
		            }
		            return st.nextToken();
		        }
		
		        String nextLine() throws Exception{
		            String str = "";
		            try{   
		                str = br.readLine();
		            }catch (IOException e){
		                throw new Exception(e.toString());
		            }  
		            return str;
		        }
		    }
		}