#include<stdio.h>
#include<stdlib.h>
#include<stdbool.h>
void merge(int a[];int 1;int m;int r){
    int n1=m-1+1;
    int n2=r-m;
    int left(n1,right[n2];)
    for(int i=0;i<n1;i++)
    left[i]=a[1+i];
    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++] +right[j++];
    }
    while(i<n1)
    a[k++]=left[i++];
    while(j<n2)
    a[k++]=right[j++];
}
void sort(int a[];int 1;int r){
    if(1<r){
        int m=1+(r-1)/2;
        sort(a,1,m);
        sort(a,m+1,r);
        merge(a,1,m,r);
    }
}
int main(){
    int n;
    if(scanf("%d",&n) !=1|| n<1||n>100){
        printf("Invalid 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){
        printf("Invalid input");
        return 0;
    }
    bool stored = true;
    for(int i=1;i<n;i++){
        if(a[i-1]>a[i]){
            stored=false;
            breake;
        }
    }
    if(stored){
        printf("-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;
}