You're given an array a of length 2n. Is it possible to reorder it in such way so that the sum of the first n elements isn't equal to the sum of the last n elements?

Input

The first line contains an integer n (1 ≤ n ≤ 1000), where 2n is the number of elements in the array a.

The second line contains 2n space-separated integers a_1, a_2, …, a_{2n} (1 ≤ a_i ≤ 10^6) — the elements of the array a.

Output

If there's no solution, print "-1" (without quotes). Otherwise, print a single line containing 2n space-separated integers. They must form a reordering of a. You are allowed to not change the order.

Examples

Input


3
1 2 2 1 3 1


Output


2 1 3 1 1 2

Input


1
1 1


Output


-1

Note

In the first example, the first n elements have sum 2+1+3=6 while the last n elements have sum 1+1+2=4. The sums aren't equal.

In the second example, there's no solution.
#include <bits/stdc++.h>
using namespace std;
namespace io {
inline int rdi() {
  int v;
  cin >> v;
  return v;
}
inline long long rdll() {
  long long v;
  cin >> v;
  return v;
}
inline string rds() {
  string s;
  cin >> s;
  return s;
}
inline char rdc() {
  char c;
  cin >> c;
  return c;
}
template <class T>
void rdv(T beg_iter, T end_iter) {
  for (; beg_iter != end_iter; ++beg_iter) cin >> *beg_iter;
}
inline void wri(const int v) { cout << v; }
inline void wrll(const long long& v) { cout << v; }
inline void wrs(const string& s) { cout << s; }
inline void wrc(const char c) { cout << c; }
template <class T>
void wrv(T beg_iter, T end_iter, string separator = " ",
         string end_of_line = "\n") {
  for (; beg_iter != end_iter; ++beg_iter) {
    cout << *beg_iter;
    cout << separator;
  }
  cout << end_of_line;
}
}  // namespace io
using namespace io;
int main() {
  long long n;
  cin >> n;
  long long a[2 * n];
  map<long long, long long> m;
  for (int i = 0; i < 2 * n; i++) {
    cin >> a[i];
    m[a[i]]++;
  }
  if (m.size() == 1)
    cout << -1 << "\n";
  else {
    sort(a, a + 2 * n);
    for (int i = 0; i < 2 * n; i++) cout << a[i] << " ";
    cout << "\n";
  }
  return 0;
}
