#include <bits/stdc++.h>
using namespace std;
int n, a, ret[1000004], mx, mx2;
vector<int> v;
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
cin >> n;
for(int i = 0; i < n; i++){
cin >> a;
v.push_back(a);
mx = max(mx, a);
}
for(int i = v.size() - 1; i >= 0; i--){
if(v[i] == mx) ret[i] = -1;
else {
mx2 = max(mx2, v[i]);
ret[i] = mx2;
}
}
for(int i = 0; i < n; i++){
cout << ret[i] << ' ';
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBuLCBhLCByZXRbMTAwMDAwNF0sIG14LCBteDI7CnZlY3RvcjxpbnQ+IHY7CmludCBtYWluKCl7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUoTlVMTCk7IGNvdXQudGllKE5VTEwpOwogICAgY2luID4+IG47CiAgICBmb3IoaW50IGkgPSAwOyBpIDwgbjsgaSsrKXsKICAgICAgICBjaW4gPj4gYTsKICAgICAgICB2LnB1c2hfYmFjayhhKTsKICAgICAgICBteCA9IG1heChteCwgYSk7CiAgICB9CiAgICBmb3IoaW50IGkgPSB2LnNpemUoKSAtIDE7IGkgPj0gMDsgaS0tKXsKICAgICAgICBpZih2W2ldID09IG14KSByZXRbaV0gPSAtMTsKICAgICAgICBlbHNlIHsKICAgICAgICAgICAgbXgyID0gbWF4KG14MiwgdltpXSk7CiAgICAgICAgICAgIHJldFtpXSA9IG14MjsKICAgICAgICB9CiAgICB9CiAgICAKICAgIGZvcihpbnQgaSA9IDA7IGkgPCBuOyBpKyspewogICAgICAgIGNvdXQgPDwgcmV0W2ldIDw8ICcgJzsKICAgIH0KfQ==