#include #include #include using namespace atcoder; using mint = modint998244353; using namespace std; #define rep(i,n) for(int i=0;i<(n);i++) #define Inf 1000000001 int main(){ int n; cin>>n; vector a(n); vector t; vector ans(n); rep(i,n){ cin>>a[i]; if(i==a[i]){ t.push_back(i); } ans[i] = i; } if(t.size()>=2){ rep(i,t.size()){ int tt = (i+1)%t.size(); ans[t[i]] = a[t[tt]]; } } else if(t.size()==1){ bool f = false; rep(i,n){ if(a[i]!=a[t[0]]){ swap(ans[i],ans[t[0]]); f = true; break; } } if(!f){ cout<<-1<