#include <iostream> #include <vector> #include <algorithm> using namespace std; int main(){ int N;cin>>N; vector<int> v1(N),v2(N); for(int i=0;i<N;++i){ cin>>v1[i]; v2[v1[i]]+=1; } vector<pair<int,int>> vp1(N); for(int i=0;i<N;++i){ vp1[i]=make_pair(v2[i],i); } sort(vp1.begin(),vp1.end(),greater<pair<int,int>>()); vector<int> v3(N); int f=0; for(int i=0;i<N;++i){ int fd=0; if(v1[i]==vp1[0].second){ fd=1; if(vp1[0].first>=N-i){ f=1; break; } } int f2=0; for(int j=0;j<vp1.size();++j){ if(v1[i]!=vp1[j].second){ v3[i]=vp1[j].second; if(fd==1) vp1[0].first-=1; vp1.erase(vp1.begin()+j); sort(vp1.begin(),vp1.end(),greater<pair<int,int>>()); f2=1; break; } } if(f2==0){ // } } if(f==0){ for(int i=0;i<N;++i){ cout<<v3[i]<<endl; } } else { cout<<-1<<endl; } }