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
/* Programming Competition - Template (Horatiu Lazu) */

import java.io.*;
import java.util.*;
import java.lang.*;
import java.awt.*;
import java.awt.geom.*;
import java.math.*;
import java.text.*;


public class Sol{
	BufferedReader in;
	StringTokenizer st;
	
	public static void main (String [] args){
		new Sol();
	}

	public Sol(){
		try{
			in = new BufferedReader(new InputStreamReader(System.in));
			int N = nextInt();
			int [] arr = new int[N];
			for(int x = 0; x < N; x++){
				arr[x] = nextInt();
			}
			Arrays.sort(arr);
			int top = arr.length-1;
			int bot = 0;
			String ans = "";
			for(int x = 1; x <= N; x++){
				if ((x&1) == 1){ //odd
					if (arr[bot] <= arr[top]){
						bot++;
						ans += arr[bot-1] + " ";	
						//System.out.println(ans);
					}
					else{
						System.out.println("IMPOSSIBLE");
						return;	
					}
				}else{
					if (arr[top] >= arr[bot]){
						top--;
						ans += arr[top+1] + " ";	
						//System.out.println(ans);
					}
					else{
						System.out.println("IMPOSSIBLE");
						return;	
					}
				}
			}
			System.out.println(ans);
			
		}
		catch(IOException e){
			System.out.println("IO: General");
		}
	}
	
	String next() throws IOException {
		while (st == null || !st.hasMoreTokens())
	   	 	st = new StringTokenizer(in.readLine().trim());
		return st.nextToken();
	}

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

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

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

	String nextLine() throws IOException {
		return in.readLine().trim();
	}
}