#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
int n, num[100005], cc = 1;
int len[100005], content[100005];
int main()
{
cin >> n;
for(int i = 1; i <= n; i++) cin >> num[i];
sort(num + 1, num + 1 + n);
//for(int i = 1; i <= n; i++) cout << num[i] << endl;
len[1]++, content[1] = num[1];
for(int i = 2; i <= n; i++)
if(num[i] != num[i - 1]) cc++, content[cc] = num[i], len[cc]++;
else len[cc]++;
//for(int i = 1; i <= cc; i++) cout << "i : " << i << ' ' << len[i] << ' ' << content[i] << endl;
if(cc % 2)
{
cout << -1;
return 0;
}
int flag = 0;
for(int i = 1; i <= cc; i++)
{
if(flag == 0 && len[i] % 2 == 0)
{
flag = i;
}
else if(flag != 0 && len[i] % 2 == 0)
{
// count > flag
if(len[flag] >= len[i])
{
for(int j = 1; j <= len[i] / 2; j++)
{
cout << content[i] << ' ' << content[flag] << ' ';
cout << content[i] << ' ' << content[flag] << ' ';
}
len[flag] -= len[i];
len[i] = 0;
}
else
{
for(int j = 1; j <= len[flag] / 2; j++)
{
cout << content[i] << ' ' << content[flag] << ' ';
cout << content[i] << ' ' << content[flag] << ' ';
}
len[i] -= len[flag];
len[flag] = 0;
flag = i;
}
if(len[flag] % 2)
flag = 0;
}
}
//for(int i = 1; i <= cc; i++) cout << "i : " << i << ' ' << len[i] << ' ' << content[i] << endl;
for(int i = 1; i <= n; i++)
if(len[i])
cout << content[i] << ' ';
//
// flag = 0;
// for(int i = 1; i <= cc; i++)
// {
// if(flag == 0 && len[i] % 2)
// {
// flag = i;
// }
// else if(flag != 0 && len[i] % 2)
// {
// // count > flag
// if(len[flag] >= len[i])
// {
// for(int j = 1; j <= len[i]; j++)
// {
// cout << content[i] << ' ' << content[flag] << ' ';
// }
// len[flag] -= len[i];
// len[i] = 0;
// }
// else
// {
// for(int j = 1; j <= len[flag]; j++)
// {
// cout << content[i] << ' ' << content[flag] << ' ';
// }
// len[i] -= len[flag];
// len[flag] = 0;
// flag = i;
// }
//
// if(!len[flag] && !len[flag] % 2)
// flag = 0;
// }
//
// }
return 0;
}