#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
void merge(int a[],int l, int  m, int r){
    int n1 = m - l + 1;
    int n2 = r - m;
    int left[MAX_SIZE], right[MAX_SIZE];
    
    for(int i = 0; i < n1; i++)
    left    [i]= a[l+i];
    for(j = 0; j < n2; j++)
    right[j]= s[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)
        if(left[
        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;
}