#include <vector>
#include <map>
#include <cstdio>
using namespace std;

int main(){
	int N;
	map<int,pair<int,int> >m;
	scanf("%d",&N);
	for(int i=0,x;i<N;i++){
		scanf("%d",&x);
		if(m.find(x)==m.end())m[x]=make_pair(i,i);
		else m[x].second=i;
	}
	vector<int> v(N);
	for(auto &e:m)for(int i=e.second.first;i<=e.second.second;i++)v[i]=e.first;
	for(int i=0;i<N;i++)printf(i<N-1?"%d ":"%d\n",v[i]);
}