#include <bits/stdc++.h>
using namespace std;
using namespace std;
long long gcdx(long long a, long long b) { return b ? gcdx(b, a % b) : a; }
long long gcd(long long a, long long b) { return gcdx(abs(a), abs(b)); }
void setbit(int &m, int ind, int val) {
  if (val)
    m = (m | (1 << ind));
  else
    m = (m & ~(1 << ind));
}
bool getbit(int m, int ind) {
  int a = (1 << ind);
  a = (a & m);
  return a;
}
int cntbits(int m) {
  int ret = 0;
  while (m) {
    ret += (m % 2);
    m /= 2;
  }
  return ret;
}
bool smlltr(char c) {
  if (c >= 'a' && c <= 'z') return 1;
  return 0;
}
bool capltr(char c) {
  if (c >= 'A' && c <= 'Z') return 1;
  return 0;
}
const long long mod = 1000000007;
const long long mod2 = 998244353;
const long long mod3 = 1000000009;
long long pow_mod(long long a, long long b) {
  if (b == 0) return 1;
  if (b % 2) return (a * pow_mod((a * a) % mod, b / 2)) % mod;
  return pow_mod((a * a) % mod, b / 2);
}
int n, m, k, L, tmp, maxi, mini, x, y, z, Q, q, ans, r, l, sum, a[2100];
string s;
int main() {
  cin >> n;
  n *= 2;
  for (int i = 1; i <= n; i++) cin >> a[i];
  sort(a + 1, a + n + 1);
  if (a[1] == a[n])
    cout << -1;
  else
    for (int i = 1; i <= n; i++) cout << a[i] << " ";
  return 0;
}
