#include <iostream>
#include <string>
#include <algorithm>
#include <cmath>
#include <vector>
#include <stack>
#include <queue>
using namespace std;
int main()
{
cin.sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int N;
int input;
cin >> N;
priority_queue<int, vector<int>, greater<int>> minHeap;
priority_queue<int> maxHeap;
int tmp;
for (int i = 0; i < N; i++)
{
cin >> input;
if (i%2==0)
{
maxHeap.push(input);
}
else
{
minHeap.push(input);
}
while(!minHeap.empty() && maxHeap.top() > minHeap.top() )
{
tmp = maxHeap.top();
maxHeap.pop();
maxHeap.push(minHeap.top());
minHeap.pop();
minHeap.push(tmp);
}
cout<<maxHeap.top()<<'\n';
}
return 0;
}