#include using namespace std; using ll = long long; using pii = pair; int main(){ const int INF = 1e9; int N; cin >> N; vector a(N); map cnt; for(int i = 0; i < N; i++){ cin >> a[i]; cnt[-a[i]] = {INF, -INF}; } for(int i = 0; i < N; i++){ cnt[-a[i]].first = min(cnt[-a[i]].first, i); cnt[-a[i]].second = max(cnt[-a[i]].second, i); } vector ans(N, -1); for(auto mp: cnt){ int x; pii p; tie(x, p) = mp; x *= -1; int l, r; tie(l, r) = p; for(int i = l; i <= r; i++){ if(ans[i] != -1)continue; ans[i] = x; } } for(int x: ans)cout << x << " "; cout << endl; }