// yukicoder: No.490 yukiソート // 2019.5.7 bal4u #include #include #if 1 #define gc() getchar_unlocked() #define pc(c) putchar_unlocked(c) #else #define gc() getchar() #define pc(c) putchar(c) #endif int in() { int n = 0, c = gc(); do n = 10*n + (c & 0xf), c = gc(); while (c >= '0'); return n; } void out(int n) { int i; char ob[20]; if (!n) pc('0'); else { i = 0; while (n) ob[i++] = n%10 + '0', n/=10; while (i--) pc(ob[i]); } } typedef struct { int v, id; } T; T a[2003]; int cmp(const void *a, const void *b) { return ((T *)a)->v - ((T *)b)->v; } int main() { int i, n; T t; n = in(); for (i = 0; i < n; i++) a[i].id = i, a[i].v = in(); qsort(a, n, sizeof(T), cmp); if (a[n-1].id != n-1) t = a[n-1], a[n-1] = a[n-2], a[n-2] = t; out(a[0].v); for (i = 1; i < n; i++) pc(' '), out(a[i].v); pc('\n'); return 0; }