A student of z-school found a kind of sorting called z-sort. The array a with n elements are z-sorted if two conditions hold:

  1. ai ≥ ai - 1 for all even i, 
  2. ai ≤ ai - 1 for all odd i > 1. 



For example the arrays [1,2,1,2] and [1,1,1,1] are z-sorted while the array [1,2,3,4] isn’t z-sorted.

Can you make the array z-sorted?

Input

The first line contains a single integer n (1 ≤ n ≤ 1000) — the number of elements in the array a.

The second line contains n integers ai (1 ≤ ai ≤ 109) — the elements of the array a.

Output

If it's possible to make the array a z-sorted print n space separated integers ai — the elements after z-sort. Otherwise print the only word "Impossible".

Examples

Input

4
1 2 2 1


Output

1 2 1 2


Input

5
1 3 2 2 5


Output

1 5 2 3 2
import java.util.*;
import java.io.*;
public class Main {
public static void main (String [] args )throws IOException,InterruptedException {
	   	    	Scanner sc = new Scanner (System.in);
	   	    	int x = sc.nextInt();
	   	    	int [] a = new int [x];
	   	    	
	   	    	for(int i = 0 ; i<x;i++) {
	   	    		a[i]=sc.nextInt();
	   	    	}
	   	    	Arrays.sort(a);
	   	    	int i = 0;
	   	    	int j = x-1;
	   	    	if(x%2==0) {
	   	    	while(j-i!=-1) {
	   	    		System.out.print(a[i]+" "+a[j]+" ");
	   	    		i++;
	   	    		j--;
	   	    	}
	   	    	}
	   	    	else {
	   	    		while(j-i!=-2) {
	   	    			if(i==j)
	   	    				System.out.print(a[i]+" ");
	   	    			else
		   	    		System.out.print(a[i]+" "+a[j]+" ");
		   	    		i++;
		   	    		j--;
		   	    	}
					
				}
}

    static class Scanner {
    StringTokenizer st;
	BufferedReader br;

	public Scanner(InputStream system) {
		br = new BufferedReader(new InputStreamReader(system));
	}

	public Scanner(String file) throws Exception {
		br = new BufferedReader(new FileReader(file));
	}

	public String next() throws IOException {
		while (st == null || !st.hasMoreTokens())
			st = new StringTokenizer(br.readLine());
		return st.nextToken();
	}

	public String nextLine() throws IOException {
		return br.readLine();
	}

	public int nextInt() throws IOException {
		return Integer.parseInt(next());
	}

	public double nextDouble() throws IOException {
		return Double.parseDouble(next());
	}

	public char nextChar() throws IOException {
		return next().charAt(0);
	}

	public Long nextLong() throws IOException {
		return Long.parseLong(next());
	}

	public boolean ready() throws IOException {
		return br.ready();
	}

	public void waitForInput() throws InterruptedException {
		Thread.sleep(3000);
	
}
}
}