Codeforces Round 446 (Div. 2) |
---|

Finished |

Virtual contest is a way to take part in past contest, as close as possible to participation on time. It is supported only ICPC mode for virtual contests.
If you've seen these problems, a virtual contest is not for you - solve these problems in the archive.
If you just want to solve some problem from a contest, a virtual contest is not for you - solve this problem in the archive.
Never use someone else's code, read the tutorials or communicate with other person during a virtual contest.

constructive algorithms

greedy

*2000

No tag edit access

The problem statement has recently been changed. View the changes.

×
D. Gluttony

time limit per test

2 secondsmemory limit per test

256 megabytesinput

standard inputoutput

standard outputYou are given an array *a* with *n* distinct integers. Construct an array *b* by permuting *a* such that for every non-empty subset of indices *S* = {*x*_{1}, *x*_{2}, ..., *x*_{k}} (1 ≤ *x*_{i} ≤ *n*, 0 < *k* < *n*) the sums of elements on that positions in *a* and *b* are different, i. e.

Input

The first line contains one integer *n* (1 ≤ *n* ≤ 22) — the size of the array.

The second line contains *n* space-separated distinct integers *a*_{1}, *a*_{2}, ..., *a*_{n} (0 ≤ *a*_{i} ≤ 10^{9}) — the elements of the array.

Output

If there is no such array *b*, print -1.

Otherwise in the only line print *n* space-separated integers *b*_{1}, *b*_{2}, ..., *b*_{n}. Note that *b* must be a permutation of *a*.

If there are multiple answers, print any of them.

Examples

Input

2

1 2

Output

2 1

Input

4

1000 100 10 1

Output

100 1 1000 10

Note

An array *x* is a permutation of *y*, if we can shuffle elements of *y* such that it will coincide with *x*.

Note that the empty subset and the subset containing all indices are not counted.

Codeforces (c) Copyright 2010-2023 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Dec/02/2023 06:23:36 (g1).

Desktop version, switch to mobile version.

Supported by

User lists

Name |
---|