#include<bits/stdc++.h>
using namespace std;
const int Nmax=1145141;
int a[Nmax];
int m;
int n;
int find(int x){
if(a[x]!=x){
a[x]=find(a[x]);
}
return a[x];
}
priority_queue<int,vector<int>,less<int> > q1;
priority_queue<int,vector<int>,greater<int> >q2;
int main(){
cin>>n;
cin>>a[1];
q2.push(a[1]);
cout<<a[1]<<endl;
for(int i=2;i<=n;i++){
cin>>a[i];
if(a[i]>q2.top()){
q2.push(a[i]);
}
else{
q1.push(a[i]);
}
if(i&1){
while(q2.size()!=q1.size()+1){
if(q2.size()<q1.size()+1){
q2.push(q1.top());
q1.pop();
}
else{
q1.push(q2.top());
q2.pop();
}
}
cout<<q2.top()<<endl;
}
}
return 0;
}//输出输出输出输出输出输出输出输出输出输出输出输出输出输出输出输出输出输出输出输出输出输出输出输出输出