#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef double db;
#define x first
#define y second
#define bg begin()
#define ed end()
#define pb push_back
#define mp make_pair
#define sz(a) int((a).size())
#define R(i,n) for(int i(0);i<(n);++i)
#define L(i,n) for(int i((n)-1);~i;--i)
const int iinf=0x3f3f3f3f;
const ll linf=0x3f3f3f3f3f3f3f3f;
//Data
const int N=3e5;
int n,a[N],mx[N];
//Main
int main(){
ios::sync_with_stdio(0);
cin.tie(0),cout.tie(0);
cin>>n;
R(i,n){
cin>>a[i];
int c=abs(i-(n-1-i));
mx[c]=max(mx[c],a[i]);
}
R(i,n-1){
int c=abs(i-(n-2-i));
mx[c]=max(mx[c],min(a[i],a[i+1]));
}
R(i,n)if(i>=2) mx[i]=max(mx[i],mx[i-2]);
R(i,n)if(i) cout<<mx[i]<<' ';
cout<<mx[n-1]<<'\n';
return 0;
}