#include<iostream>
#include<set>
#include<stdio.h>
using namespace std; multiset<int> myset; int main() {
int test;
cin>>test;
int e=test;
while(test)
{
test=test-1;
//test++;
char input;
int value;
//scanf("%c",&input);
cin>>input;
//scanf("%d",&value);
cin>>value;
if(input=='a')
{
//cout<<"byeeeeeeeee\n"<<test<<"lsfhvfduhvl";
myset.insert(value);
int a=myset.size();
if(a%2!=0) //odd case
{
multiset<int> :: const_iterator it=myset.begin();
for(int i=0;i<(a/2);i++)
{
it++;
}
printf("%d\n",*it);
//cout<<(*it)<<"\n";
}
else
{
int b,c;
multiset<int> :: const_iterator it=myset.begin();
for(int i=0;i<(a/2);i++)
{
it++;
}
b=(*it);
it--;
c=(*it);
double x= 1.0*(b+c)/2;
printf("%.10g\n",x);
//cout<<setprecision(9)<<x<<"\n";
}
}
else if(input=='r')
{
//cout<<"hiiiiiiiiiiiii\n"<<test<<"lufhvfdhsv";
if(myset.find(value)!=myset.end())
{
cout<<"hiiiiiiiiiiiii";
myset.erase(myset.find(value));
if(!myset.empty())
{
int a=myset.size();
if(a%2!=0) //odd case
{
multiset< int > :: const_iterator it=myset.begin();
for(int i=0;i<(a/2);i++)
{
it++;
}
printf("%d\n",*it);
//cout<<(*it)<<"\n";
}
else
{
int b,c;
multiset< int > :: const_iterator it=myset.begin();
for(int i=0;i<(a/2);i++)
{
it++;
}
b=(*it);
it--;
c=(*it);
//cout<<1.*(b+c)/2<<"\n";
double x= 1.0*(b+c)/2;
printf("%.10g\n",x);
//cout<<setprecision(9)<<x<<"\n";
}
}
else
cout<<"Wrong!\n";
}
else
{
cout<<"Wrong!\n";
}
}
}
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPHNldD4KI2luY2x1ZGU8c3RkaW8uaD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7IG11bHRpc2V0PGludD4gbXlzZXQ7IGludCBtYWluKCkgewoKaW50IHRlc3Q7CmNpbj4+dGVzdDsKaW50IGU9dGVzdDsKd2hpbGUodGVzdCkKewogICAgdGVzdD10ZXN0LTE7CiAgICAvL3Rlc3QrKzsKICAgIGNoYXIgaW5wdXQ7CiAgICBpbnQgdmFsdWU7CiAgICAvL3NjYW5mKCIlYyIsJmlucHV0KTsKICAgIGNpbj4+aW5wdXQ7CgogICAgLy9zY2FuZigiJWQiLCZ2YWx1ZSk7CiAgICBjaW4+PnZhbHVlOwogICAgaWYoaW5wdXQ9PSdhJykKICAgIHsKICAgICAgICAvL2NvdXQ8PCJieWVlZWVlZWVlZVxuIjw8dGVzdDw8ImxzZmh2ZmR1aHZsIjsKICAgICAgICBteXNldC5pbnNlcnQodmFsdWUpOwogICAgICAgIGludCBhPW15c2V0LnNpemUoKTsKICAgICAgICBpZihhJTIhPTApICAvL29kZCBjYXNlCiAgICAgICAgewogICAgICAgICAgICBtdWx0aXNldDxpbnQ+IDo6IGNvbnN0X2l0ZXJhdG9yIGl0PW15c2V0LmJlZ2luKCk7CiAgICAgICAgICAgIGZvcihpbnQgaT0wO2k8KGEvMik7aSsrKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpdCsrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHByaW50ZigiJWRcbiIsKml0KTsKICAgICAgICAgICAgLy9jb3V0PDwoKml0KTw8IlxuIjsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgaW50IGIsYzsKICAgICAgICAgICAgbXVsdGlzZXQ8aW50PiA6OiBjb25zdF9pdGVyYXRvciBpdD1teXNldC5iZWdpbigpOwogICAgICAgICAgICBmb3IoaW50IGk9MDtpPChhLzIpO2krKykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaXQrKzsKICAgICAgICAgICAgfQogICAgICAgICAgICBiPSgqaXQpOwogICAgICAgICAgICBpdC0tOwogICAgICAgICAgICBjPSgqaXQpOwogICAgICAgICAgICBkb3VibGUgeD0gMS4wKihiK2MpLzI7CiAgICAgICAgICAgIHByaW50ZigiJS4xMGdcbiIseCk7CiAgICAgICAgICAgIC8vY291dDw8c2V0cHJlY2lzaW9uKDkpPDx4PDwiXG4iOwoKICAgICAgICB9CiAgICB9CiAgICBlbHNlIGlmKGlucHV0PT0ncicpCiAgICB7CiAgICAgICAgLy9jb3V0PDwiaGlpaWlpaWlpaWlpaWlcbiI8PHRlc3Q8PCJsdWZodmZkaHN2IjsKCiAgICAgICAgaWYobXlzZXQuZmluZCh2YWx1ZSkhPW15c2V0LmVuZCgpKQogICAgICAgIHsKICAgICAgICAgICAgY291dDw8ImhpaWlpaWlpaWlpaWlpIjsKICAgICAgICAgICAgbXlzZXQuZXJhc2UobXlzZXQuZmluZCh2YWx1ZSkpOwoKICAgICAgICAgICAgaWYoIW15c2V0LmVtcHR5KCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGludCBhPW15c2V0LnNpemUoKTsKCiAgICAgICAgaWYoYSUyIT0wKSAgLy9vZGQgY2FzZQogICAgICAgIHsKICAgICAgICAgICAgbXVsdGlzZXQ8IGludCA+IDo6IGNvbnN0X2l0ZXJhdG9yIGl0PW15c2V0LmJlZ2luKCk7CiAgICAgICAgICAgIGZvcihpbnQgaT0wO2k8KGEvMik7aSsrKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpdCsrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHByaW50ZigiJWRcbiIsKml0KTsKICAgICAgICAgICAgLy9jb3V0PDwoKml0KTw8IlxuIjsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgaW50IGIsYzsKICAgICAgICAgICAgbXVsdGlzZXQ8IGludCA+IDo6IGNvbnN0X2l0ZXJhdG9yIGl0PW15c2V0LmJlZ2luKCk7CiAgICAgICAgICAgIGZvcihpbnQgaT0wO2k8KGEvMik7aSsrKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpdCsrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGI9KCppdCk7CiAgICAgICAgICAgIGl0LS07CiAgICAgICAgICAgIGM9KCppdCk7CiAgICAgICAgICAgIC8vY291dDw8MS4qKGIrYykvMjw8IlxuIjsKICAgICAgICAgICAgZG91YmxlIHg9IDEuMCooYitjKS8yOwogICAgICAgICAgICBwcmludGYoIiUuMTBnXG4iLHgpOwogICAgICAgICAgICAvL2NvdXQ8PHNldHByZWNpc2lvbig5KTw8eDw8IlxuIjsKCiAgICAgICAgfQogICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgY291dDw8Ildyb25nIVxuIjsKCiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgIGNvdXQ8PCJXcm9uZyFcbiI7CiAgICAgICAgfQoKICAgIH0KCn0KcmV0dXJuIDA7Cgp9