#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[l+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++]=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=1+(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("Invaild 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)
           {
               vaild=false;
           }
           
       }
       if(!valid){
           printf("Invaild 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;
       }
       sort(a,0,n-1);
       for(int i=0;i<n;i++){
           printf("%d",a[i]);
           if(i!=n-1)
           printf(" ");
           }
           return 0;
       }
       
       

           
       }
       }