#include<queue>
#include<vector>
#include<iostream>
#include<string.h>
using namespace std;
int main()
{
priority_queue <int> lteam;//大顶堆
priority_queue <int,vector <int>,greater <int> > rteam;//小顶堆
vector<int> answer;//记录答案的动态数组
int n,m,mid=0;
cin>>n;
for(int i=1;i<=(n-1)/2;i++){
int a;
cin>>a;
lteam.push(a);
}
cin>>mid;
for(int i=1;i<=n/2;i++){
int a;
cin>>a;
rteam.push(a);
}
cin>>m;
while(m-->0)
{
char str[5];
scanf("%s",str);
if(str[0]=='a')
{
int a;
cin>>a;
if(a<mid)
lteam.push(a);
else
rteam.push(a);
if(lteam.size()>rteam.size())
{
rteam.push(mid);
mid=lteam.top();
lteam.pop();
}
else if(rteam.size()-lteam.size()>=2)
{
lteam.push(mid);
mid=rteam.top();
rteam.pop();
}
}
else
{
answer.push_back(mid);
}
}
for(vector<int>::iterator it=answer.begin();it!=answer.end();it++)
{
cout<<*it<<endl;
}
return 0;
}