#include <stdio.h>
#include <stdlib.h>

int cmp(const void *a, const void *b) {
    int ia = (const int)a;
    int ib = (const int)b;
    return (ia > ib) - (ia < ib);
}

int main(void) {
    int n;
    if (scanf("%d", &n) != 1) return 0;
    if (n <= 0) return 0;

    int *a = malloc(n * sizeof(int));
    if (!a) return 0;

    for (int i = 0; i < n; ++i) {
        if (scanf("%d", &a[i]) != 1) { free(a); return 0; }
    }

    qsort(a, n, sizeof(int), cmp);

    for (int i = 0; i < n; ++i) {
        if (i) printf(" ");
        printf("%d", a[i]);
    }

    printf("\nSmallest: %d\nLargest: %d", a[0], a[n-1]);

    free(a);
    return 0;
}