#include <bits/stdc++.h>
using namespace std;
namespace BAsis {
inline int Read() {
  char Ch = getchar();
  while (Ch < 48 || Ch > 57) Ch = getchar();
  int x = Ch - 48;
  Ch = getchar();
  while (Ch >= 48 && Ch <= 57) x = (x * 10) + (Ch - 48), Ch = getchar();
  return x;
}
inline long long LRead() {
  char Ch = getchar();
  while (Ch < 48 || Ch > 57) Ch = getchar();
  long long x = Ch - 48;
  Ch = getchar();
  while (Ch >= 48 && Ch <= 57) x = (x * 10) + (Ch - 48), Ch = getchar();
  return x;
}
inline int Min(const int &x, const int &y) { return x < y ? x : y; }
inline int Max(const int &x, const int &y) { return x > y ? x : y; }
inline void Swap(int &x, int &y) {
  register int p = x;
  x = y;
  y = p;
}
}  // namespace BAsis
using namespace BAsis;
int a[2005], n;
void Work() {
  sort(a + 1, a + 2 * n + 1);
  for (int i = (1), iLimit = (2 * n); i <= iLimit; ++i) printf("%d ", a[i]);
  puts("");
}
signed main() {
  n = Read();
  for (int i = (1), iLimit = (2 * n); i <= iLimit; ++i) a[i] = Read();
  for (int i = (2), iLimit = (2 * n); i <= iLimit; ++i)
    if (a[i] != a[i - 1]) return Work(), 0;
  puts("-1");
  return 0;
}
