#include <stdio.h>
#define MAX 100
void merge(int arr[], int left, int mid, int right){
    int i = left, j = mid + 1, k = 0;
    int temp[MAX];
    while (i <= mid && j <= right){
        if (arr[i] <= arr[j])
            temp[k++] = arr[i++];
        else
            temp[k++] = arr[j++];
    }
    while (i<= mid)
        temp[k++] =arr[i++];
    while (j <= right)
        temp[k++] =arr[j++];
    for (i = left, k = 0; i <= right; i++, k++)
        arr[i] =temp[k];
}
void mergeSort(int arr[], int left, int right){
    if (left < right) {
        int mid =(left + right) / 2;
        mergeSort(arr, left, mid);
        mergeSort(arr, mid + 1, right);
        mergeSort(arr, left, mid, right);    }
}
int main() {
    int n;
    scanf("%d", &n);
    int arr[MAX];
    for (int i = 0; i < n; i++){
        scanf("%d", &arr[i]);
        if (arr[i] < 0){
            printf("Invalid input");
            return 0;
        }
    }
    int sorted = 1;
    for (int i = 0; i < n - 1; i++) {
        if (arr[i] > arr[i + 1]) {
            sorted = 0;
            break;
            
        }
    }
    if (sorted) {
        printf("-1");
        return 0;
    }
    mergesort(arr, 0, n - 1);
    for (int i = 0; i < n; i++){
        printf("%d", arr[i]);
        if (i < n - 1) printf(" ");
    }
    return 0;
}