#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int N;
int numbers[10'000];
vector<int> usable;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>N;
for(int i=0;i<N;i++) cin>>numbers[i];
int target = -1, targetNumber = 0, replaceNumber = 0;
for(int i=N-1;i>=1;i--){
usable.push_back(numbers[i]);
if(numbers[i-1] > numbers[i]){
target = i-1;
targetNumber = numbers[i-1];
usable.push_back(targetNumber);
break;
}
}
if(target==-1){
cout<<-1<<'\n';
return 0;
}
for(int i=0;i<usable.size();i++){
if(targetNumber > usable[i]){
replaceNumber = max(replaceNumber, usable[i]);
}
}
usable.erase(remove(usable.begin(), usable.end(), replaceNumber), usable.end());
sort(usable.begin(), usable.end());
for(int i=0;i<target;i++) cout<<numbers[i]<<' ';
cout<<replaceNumber<<' ';
for(int i=0;i<usable.size();i++) cout<<usable[i]<<' ';
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IE47CmludAludW1iZXJzWzEwJzAwMF07CnZlY3RvcjxpbnQ+IHVzYWJsZTsKCmludCBtYWluKCkgewoJaW9zOjpzeW5jX3dpdGhfc3RkaW8oMCk7CgljaW4udGllKDApOwoJY291dC50aWUoMCk7CgkKCWNpbj4+TjsKCWZvcihpbnQgaT0wO2k8TjtpKyspIGNpbj4+bnVtYmVyc1tpXTsKCQoJaW50IHRhcmdldCA9IC0xLCB0YXJnZXROdW1iZXIgPSAwLCByZXBsYWNlTnVtYmVyID0gMDsKCWZvcihpbnQgaT1OLTE7aT49MTtpLS0pewoJCXVzYWJsZS5wdXNoX2JhY2sobnVtYmVyc1tpXSk7CgkJCgkJaWYobnVtYmVyc1tpLTFdID4gbnVtYmVyc1tpXSl7CgkJCXRhcmdldCA9IGktMTsKCQkJdGFyZ2V0TnVtYmVyID0gbnVtYmVyc1tpLTFdOwoJCQl1c2FibGUucHVzaF9iYWNrKHRhcmdldE51bWJlcik7CgkJCWJyZWFrOwoJCX0KCX0KCWlmKHRhcmdldD09LTEpewoJCWNvdXQ8PC0xPDwnXG4nOwoJCXJldHVybiAwOwoJfQoJCglmb3IoaW50IGk9MDtpPHVzYWJsZS5zaXplKCk7aSsrKXsKCQlpZih0YXJnZXROdW1iZXIgPiB1c2FibGVbaV0pewoJCQlyZXBsYWNlTnVtYmVyID0gbWF4KHJlcGxhY2VOdW1iZXIsIHVzYWJsZVtpXSk7CgkJfQoJfQoJdXNhYmxlLmVyYXNlKHJlbW92ZSh1c2FibGUuYmVnaW4oKSwgdXNhYmxlLmVuZCgpLCByZXBsYWNlTnVtYmVyKSwgdXNhYmxlLmVuZCgpKTsKCXNvcnQodXNhYmxlLmJlZ2luKCksIHVzYWJsZS5lbmQoKSk7CgkKCWZvcihpbnQgaT0wO2k8dGFyZ2V0O2krKykgY291dDw8bnVtYmVyc1tpXTw8JyAnOwoJY291dDw8cmVwbGFjZU51bWJlcjw8JyAnOwoJZm9yKGludCBpPTA7aTx1c2FibGUuc2l6ZSgpO2krKykgY291dDw8dXNhYmxlW2ldPDwnICc7CgkKCXJldHVybiAwOwp9