#include <bits/stdc++.h>
using namespace std;

void merge(vector<int>&nums,int low,int mid,int high){
	int left= low;
	int right = mid+1;
	vector<int>temp;
	while(left<=mid && right<=high){
		if(nums[left]<=nums[right]){
			temp.push_back(nums[left++]);
		}else{
			temp.push_back(nums[right++]);
		}
	}
	
	while(left<=mid){
			temp.push_back(nums[left++]);
	}
	while(right<=high){
			temp.push_back(nums[right++]);
	}
	
	for(int i = low ;i <= high;i++){
		nums[i]= temp[i-low];
	}
}
void helper(vector<int>&nums,int low,int high){
	if(low>=high)return;
	int mid = (low+high)/2;
	helper(nums,low,mid);
	helper(nums,mid+1,high);
	merge(nums,low,mid,high);
}
vector<int>mergeSort(vector<int>&nums){
int n = nums.size();
	helper(nums,0,n-1);
	return nums;
}
int main() {
   int n;cin>>n;
   
   vector<int>a(n);
   for(int i = 0;i<n ;i++){
     cin>>a[i];	
   }
   
   vector<int>ans = mergeSort(a);
   for(int &x:ans)cout<<x<<endl;
	return 0;
}