#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#define MAX_SIZE 100
void merge(int a[],int l, int  m, int r){
    int n1 = m - l + 1;
    int n2 = r - m;
    int left[n1], right[n2];
    
    for(int i=0;i<n1;i++)
    left[i]= a[l+i];
    for(int j = 0; j < n2; j++)
    right[j]= a[m + 1 + j];
    
    int i = 0, j = 0, k = l;
    
    while(i < n1 & j < n2){
        if (left[i] <= right[j])
        a[k++] = left[i++];
        else
        a[k++] = right[i++];
    }
    while(i < n1)
    a[k++] = left[i++];
    while (i < n2)
    a[k++] = right[j++];
}
    
    int i=0,j=0,k=l;
    
    while(i < n1 && j<n2){
        if(left[i]<=right[j])
        a[k++] = left[i++];
        else
        a[k++] = right[j++];
    }
    while(i<n1)
    a[k++] = left[i++];
    while(j<n2)
    a[k++] = right[j++];
}
void sort(int a[], int l, int r){
    if(l < r){
        int m = l + (r - l) / 2;
        sort(a, l, m);
        sort(a, m + 1);
        merge(a, l, m, r);
    }
}
i
    int n;
    if(scanf("5d",&n)! = 1 ||  n < 1 || n > 100){
        printf("Invalid input");
        return o;
    }
    int a[n];
    bool Valid = true;
    
    for(int i = 0; i < n; i++){
        if(scanf("%d",&a[i]) ! = 1 )|| a[i] < 0|| a[i] > 100){
            Valid = false;
        }
    }
    if(!Valid){
        printf("Invalid input");
        return 0;
    }
    bool sorted = true;
    for(int i = 1; i < n; i++){
        if(a[i-1] > a [i]){
            sorted = false;
            break;
        }
    }
    if(sorted){
        printf("-1\n");
        return 0;
    }
    sorted(a, 0, n - 1);
    for(int i = 0; i < n; i++){
        printf("%d", a[i]);
        if(i ! = n - 1)
        printf(" ");
    }
    return 0;
}