
import java.io.*;
public class Main{public static int MAXN = 100001;public static int[] arr = new int[MAXN];public static int n;public static void main(String[] args) throws IOException{BufferedReader br = new BufferedReader (new InputStreamReader(System.in));StreamTokenizer in = new StreamTokenizer(br);PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));in.nextToken();n = (int)in.nval;for(int i = 0;i < n;i++){in.nextToken();arr[i] = (int)in.nval;}heapSort1(arr);for(int i = 0;i< n-1;i++){out.print(arr[i] +" ");}out.print(arr[n-1]);out.flush();out.close();br.close();}public static void heapInsert(int i){while(arr[i] > arr[(i-1)/2]){swap(arr,i,(i-1)/2);i = (i-1)/2;}} public static void heapify(int i,int size){int l = i*2 +1;while(l<size){int best = (l + 1)<size && arr[l] < arr[l+1] ? (l+1) : l;best = arr[i] >arr[best] ? i : best;if(best == i){break;}swap(arr ,i , best);i = best;l = i*2 +1; }}public static void heapSort1(int arr[]){for(int i=0;i<n;i++){heapInsert(i);}int size = n;while(size>1){swap(arr,0,--size);heapify(0,size);}}public static void heapSort2(int arr[]){for(int i = n -1;i>=0;i--){heapify(i,n);}int size = n;while (size > 1) {swap(arr,0, --size);heapify(0, size);}}public static void swap(int[] arr,int i,int j){int temp = arr[i];arr[i] = arr[j];arr[j] = temp;}
}