#include<stdio.h>
void merge(int arr[], int l, int m, int r){
    int n1 = m - l + 1, n2 = r - m;
    int L[n1], R[n2];
    for(int i = 0; i < n1; i++) L[i] = arr[l + i];
    for(int j = 0; j < n2; j++) R[j] = arr[m + 1 + j];
    int i = 0, j = 0, k = 1;
    while(i < n1 && j < n2)
         arr[k++] = (L[i] <= R[j]) ? L(i++) : R[j++];
    while(i < n1) arr[k++] = L[i++];
    while(j < n2) arr[k++] = R[j++];
}
void mergeSort(int arr[], int l, int r){
    if(l < r){
        int m = (l + r)/2;
        mergeSort(arr, l, m);
        mergeSort(arr, m + 1, r);
        merge(arr, l, m, r);
    }
}
int isSorted(int arr[], int n){
    for(int i =1; i < n; i++)
    if(arr[i] < arr[i -1]) return 0;
    return 1;
}
int main(){
    int n;
    scanf("%d", &n);
    int arr[n];
    for(int i = 0; i < n; i++){
        scanf("%d", &arr[i]);
        if(arr[i] < 0){
            printf("Invalid input");
            return 0;
        }
    }
    if(isSorted(arr, n)){
        printf("-1");
        return 0;
    }
    mergeSort(arr, 0, n-1);
    for(int i = 0; i < n; i++)
    printf("%d ", arr[i]);
    return 0;
}