#include<stdio.h>
#define a 500000


void Merge(int *, int , int , int );
void MergeSort(int *, int, int);

int main()
{
  int n, S[a], i;
  
  scanf("%d", &n);
  for(i=0; i<n; i++)
    {
      scanf("%d", &S[i]);
    }

  MergeSort(S, 0, n);

  for(i=0; i<n-1; i++)
    {
      printf("%d", S[i]);
    }
  printf("%d\n",S[n-1]);
  //printf("%d\n", compare);

  return 0;

}

void Merge(int A[], int left, int mid, int right)
{
  int i, j, k;
  int n1, n2;

  n1 = mid - left;
  n2 = right - mid;

  int L[n1+1], R[n2+1];

  for(i=0; i<n1; i++)
    {
      L[i] = A[left + i];
    }

  for(i=0; i<n2; i++)
    {
      R[i] = A[mid + i];
    }

  // L[n1] = SENTINEL;
  //R[n2] = SENTINEL;

  i=0;
  j=0;

  for(k=left; k<right-1; k++)
    {
      if(L[i] <= R[j])
	{
	  A[k] = L[i];
	  i = i + 1;
	}
      else
	{
	  A[k] = R[j];
	  j = j + 1;
	}
    }

}

void MergeSort(int A[], int left, int right)
{
  int mid;

  if(left+1 < right)
    {
      mid = (left + right)/2;
      Merge-Sort(A, left, mid);
      Merge-Sort(A, mid, right);
      Merge(A, left, mid, right);
    }
}