1 #include <iostream>
2 #include <cstring>
3 #include <cstdio>
4 #include <set>
5
6 using namespace std;
7
8 multiset<int> smin;
9 multiset<int> smax;
10 multiset<int>::iterator it;
11 char arr[5];
12
13 int main()
14 {
15 int T;
16 scanf("%d",&T);
17 while(T--)
18 {
19 int n;
20 scanf("%d",&n);
21 int x;
22 int first=1;
23 int mid;
24 smax.clear();
25 smin.clear();
26 for(int i=0;i<n;i++)
27 {
28 int tmp;
29 scanf("%d",&tmp);
30 if(first)
31 {
32 first=0;
33 mid=tmp;
34 }
35 else
36 {
37 if(tmp>mid)
38 {
39 smax.insert(tmp);
40 if((smax.size())>=(smin.size()+2))
41 {
42 smin.insert(mid);
43 mid=*(smax.begin());
44 it=smax.begin();
45 smax.erase(it);
46 }
47 }
48 else
49 {
50 smin.insert(tmp);
51 if(smin.size()>smax.size())
52 {
53 smax.insert(mid);
54 it=smin.end();
55 it--;
56 mid=*(it);
57 smin.erase(it);
58 }
59 }
60 }
61 }
62 int m;
63 scanf("%d",&m);
64 for(int i=0;i<m;i++)
65 {
66 scanf("%s",arr);
67 if(arr[0]=='a')
68 {
69 int tmp;
70 scanf("%d",&tmp);
71 if(first)
72 {
73 first=0;
74 mid=tmp;
75 }
76 else
77 {
78 if(tmp>mid)
79 {
80 smax.insert(tmp);
81 if(smax.size()>=smin.size()+2)
82 {
83 smin.insert(mid);
84 mid=*(smax.begin());
85 it=smax.begin();
86 smax.erase(it);
87 }
88 }
89 else
90 {
91 smin.insert(tmp);
92 if(smin.size()>smax.size())
93 {
94 smax.insert(mid);
95 it=smin.end();
96 it--;
97 mid=*(it);
98 smin.erase(it);
99 }
100 }
101 }
102 }
103 else if(arr[0]=='m')
104 {
105 cout<<mid<<endl;
106 }
107 }
108 }
109 return 0;
110 }