#include<iostream>
#include<set>

using namespace std;

multiset< int > Set;

int main() 
{
	int i,n,target,k,x,numOfElements,mx=-100000000,mn=100000000;
	cin>>numOfElements;
	for(i=0,n=0,target=1,k=0;i<numOfElements;i++)
	{
		cin>>x;  // input
		mn=min(mn,x);
		mx=max(mx,x);
		Set.insert(x); //inserting in the set
		k++;
		if(target==k) {
			n++; // n is incremented
			//Code for finding nth number in the set

			int l=mn,r=mx;
			while(l<=r)
			{
				int m=(l+r)>>1;
				multiset<int>::iterator it=Set.lower_bound(m),itt=Set.upper_bound(m);
				int d=distance(Set.begin(),it),D=distance(Set.begin(),itt);
				if(d<=n-1 && D>n-1)	// it is nth element of multiset
				{
					cout<<(*it)<<endl;
					break;
				}
				else if(d>n-1) r=m-1;
				else l=m+1;
			}
			
			///
			k=0;
			target++; // next target
		}
	}

	return 0;
}
