#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[n1], right[n2];
    for(int i = 0; i < n1; i++)
        left[i] = a[i + 1];
    for(int j = 0; j < n2; j++)
        right[j] = a[m + 1 + j];
    int i = 0,j = 0,k = 1;
    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 - 1)/2;
        sort(a,l,m);
        sort(a,m + 1,r);
        merge(a,l,m,r);
    }
}

int main(){
    int n
    if(scanf("%d", &n) != 1 || n < 1 || n > 100){
        printf("Ivalid input");
        return 0;
    }
    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){
        prntf("Invalid input");
        return 0;
    }
    boo sorted = true;
    for(int i = 1; i < n; i++){
        if(a[i - 1] > a[i]){
            sorted = false;break;
        }
    }
    if((sorted){
        prntf("-1\n");
        return 0;
    })
    sort(a,0,n - 1)
    for(int i = 0; i < n; i++){
        printf("%d",a[i]);
        if(i != n - 1)
            printf(" ");
    }
    return 0;
}