#include <cstdio>
#include <set>
#include <iterator>
using namespace std;
int main( )
{
long int n, size, i;
char op;
long int val;
scanf ( "%ld" , & n) ;
multiset< long int > minset;
multiset< long int > maxset;
multiset< long int > :: iterator itr1;
long int max_minset, min_maxset;
for ( i = 1 ; i <= n; ++ i) {
scanf ( "%c" , & op) ;
scanf ( "%c" , & op) ;
scanf ( "%ld" , & val) ;
printf ( "i = %ld, " , i) ;
if ( op == 'a' ) {
if ( minset.empty ( ) && maxset.empty ( ) ) {
minset.insert ( val) ;
} else {
max_minset = * ( -- minset.end ( ) ) ;
//printf("In Insert --> min_maxset = %d, max_minset = %d\n", min_maxset, max_minset);
if ( val > max_minset) {
maxset.insert ( val) ;
} else {
minset.insert ( val) ;
}
}
} else {
if ( minset.empty ( ) && maxset.empty ( ) ) {
printf ( "Wrong!\n " ) ;
continue ;
}
max_minset = * ( -- minset.end ( ) ) ;
if ( val > max_minset) {
if ( maxset.find ( val) == maxset.end ( ) ) {
printf ( "Wrong!----->\n " ) ;
continue ;
}
maxset.erase ( maxset.find ( val) ) ;
} else {
minset.erase ( minset.find ( val) ) ;
}
}
if ( minset.empty ( ) && maxset.empty ( ) ) {
printf ( "Wrong!\n " ) ;
continue ;
}
if ( maxset.size ( ) > minset.size ( ) ) {
min_maxset = * ( maxset.begin ( ) ) ;
maxset.erase ( maxset.find ( min_maxset) ) ;
minset.insert ( min_maxset) ;
}
if ( minset.size ( ) > maxset.size ( ) + 1 ) {
max_minset = * ( -- minset.end ( ) ) ;
minset.erase ( minset.find ( max_minset) ) ;
maxset.insert ( max_minset) ;
}
printf ( " || op = %c, val = %ld, || Min Set --> " , op, val) ;
itr1 = minset.begin ( ) ;
while ( itr1 ! = minset.end ( ) ) {
printf ( "%d " , * itr1) ;
++ itr1;
}
printf ( " || Max Set --> " ) ;
itr1 = maxset.begin ( ) ;
while ( itr1 ! = maxset.end ( ) ) {
printf ( "%d " , * itr1) ;
++ itr1;
}
size = minset.size ( ) + maxset.size ( ) ;
max_minset = * ( -- minset.end ( ) ) ;
if ( size == 1 && maxset.empty ( ) ) {
printf ( "%ld\n " , * ( -- minset.end ( ) ) ) ;
continue ;
}
min_maxset = * ( maxset.begin ( ) ) ;
if ( size % 2 == 0 ) {
double temp = ( max_minset + min_maxset) / 2.0 ;
if ( temp == ( long int ) temp) {
printf ( "%ld\n " , ( long int ) temp) ;
} else {
printf ( "%.1lf\n " , temp) ;
}
} else {
printf ( "%ld\n " , max_minset) ;
}
}
return 0 ;
}
I2luY2x1ZGUgPGNzdGRpbz4KI2luY2x1ZGUgPHNldD4KI2luY2x1ZGUgPGl0ZXJhdG9yPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkKewoJbG9uZyBpbnQgbiwgc2l6ZSwgaTsKCWNoYXIgb3A7Cglsb25nIGludCB2YWw7CgkKCXNjYW5mKCIlbGQiLCAmbik7CgkKCW11bHRpc2V0PGxvbmcgaW50PiBtaW5zZXQ7CgltdWx0aXNldDxsb25nIGludD4gbWF4c2V0OwoJbXVsdGlzZXQ8bG9uZyBpbnQ+OjppdGVyYXRvciBpdHIxOwoJbG9uZyBpbnQgbWF4X21pbnNldCwgbWluX21heHNldDsKCQoJZm9yIChpID0gMTsgaSA8PSBuOyArK2kpIHsKCQlzY2FuZigiJWMiLCAmb3ApOwoJCXNjYW5mKCIlYyIsICZvcCk7CgkJc2NhbmYoIiVsZCIsICZ2YWwpOwoJCXByaW50ZigiaSA9ICVsZCwgIiwgaSk7CgkJCgkJaWYgKG9wID09ICdhJykgewoJCQlpZiAobWluc2V0LmVtcHR5KCkgJiYgbWF4c2V0LmVtcHR5KCkpIHsKCQkJCW1pbnNldC5pbnNlcnQodmFsKTsKCQkJfSBlbHNlIHsKCQkJCW1heF9taW5zZXQgPSAqKC0tbWluc2V0LmVuZCgpKTsKCQkJCS8vcHJpbnRmKCJJbiBJbnNlcnQgLS0+IG1pbl9tYXhzZXQgPSAlZCwgbWF4X21pbnNldCA9ICVkXG4iLCBtaW5fbWF4c2V0LCBtYXhfbWluc2V0KTsKCQkJCQoJCQkJaWYgKHZhbCA+IG1heF9taW5zZXQpIHsKCQkJCQltYXhzZXQuaW5zZXJ0KHZhbCk7CgkJCQl9IGVsc2UgewoJCQkJCW1pbnNldC5pbnNlcnQodmFsKTsgCgkJCQl9CgkJCX0KCQl9IGVsc2UgewoJCQlpZiAobWluc2V0LmVtcHR5KCkgJiYgbWF4c2V0LmVtcHR5KCkpIHsKCQkJCXByaW50ZigiV3JvbmchXG4iKTsKCQkJCWNvbnRpbnVlOwoJCQl9CgkJCQoJCQltYXhfbWluc2V0ID0gKigtLW1pbnNldC5lbmQoKSk7CgkJCQoJCQlpZiAodmFsID4gbWF4X21pbnNldCkgewoJCQkJaWYgKG1heHNldC5maW5kKHZhbCkgPT0gbWF4c2V0LmVuZCgpKSB7CgkJCQkJcHJpbnRmKCJXcm9uZyEtLS0tLT5cbiIpOwoJCQkJCWNvbnRpbnVlOwoJCQkJfQoJCQkKCQkJCW1heHNldC5lcmFzZShtYXhzZXQuZmluZCh2YWwpKTsKCQkJfSBlbHNlIHsKCQkJCW1pbnNldC5lcmFzZShtaW5zZXQuZmluZCh2YWwpKTsKCQkJfQoJCX0KCQkKCQlpZiAobWluc2V0LmVtcHR5KCkgJiYgbWF4c2V0LmVtcHR5KCkpIHsKCQkJcHJpbnRmKCJXcm9uZyFcbiIpOwoJCQljb250aW51ZTsKCQl9CgkJCgkJaWYgKG1heHNldC5zaXplKCkgPiBtaW5zZXQuc2l6ZSgpKSB7CgkJCW1pbl9tYXhzZXQgPSAqKG1heHNldC5iZWdpbigpKTsJCQkJCgkJCW1heHNldC5lcmFzZShtYXhzZXQuZmluZChtaW5fbWF4c2V0KSk7CgkJCW1pbnNldC5pbnNlcnQobWluX21heHNldCk7CgkJfQoJCQkKCQlpZiAobWluc2V0LnNpemUoKSA+IG1heHNldC5zaXplKCkgKyAxKSB7CgkJCW1heF9taW5zZXQgPSAqKC0tbWluc2V0LmVuZCgpKTsKCQkJbWluc2V0LmVyYXNlKG1pbnNldC5maW5kKG1heF9taW5zZXQpKTsKCQkJbWF4c2V0Lmluc2VydChtYXhfbWluc2V0KTsKCQl9CgkJCgkJcHJpbnRmKCIgfHwgb3AgPSAlYywgdmFsID0gJWxkLCB8fCBNaW4gU2V0IC0tPiAiLCBvcCwgdmFsKTsKCQlpdHIxID0gbWluc2V0LmJlZ2luKCk7CgkJd2hpbGUgKGl0cjEgIT0gbWluc2V0LmVuZCgpKSB7CgkJCXByaW50ZigiJWQgIiwgKml0cjEpOwoJCQkrK2l0cjE7CgkJfQoJCQoJCXByaW50ZigiIHx8IE1heCBTZXQgLS0+ICIpOwoJCWl0cjEgPSBtYXhzZXQuYmVnaW4oKTsKCQl3aGlsZSAoaXRyMSAhPSBtYXhzZXQuZW5kKCkpIHsKCQkJcHJpbnRmKCIlZCAiLCAqaXRyMSk7CgkJCSsraXRyMTsKCQl9CgkJCgkJc2l6ZSA9IG1pbnNldC5zaXplKCkgKyBtYXhzZXQuc2l6ZSgpOwoJCW1heF9taW5zZXQgPSAqKC0tbWluc2V0LmVuZCgpKTsKCQkKCQlpZiAoc2l6ZSA9PSAxICYmIG1heHNldC5lbXB0eSgpKSB7CgkJCXByaW50ZigiJWxkXG4iLCAqKC0tbWluc2V0LmVuZCgpKSk7CgkJCWNvbnRpbnVlOwoJCX0KCQkKCQltaW5fbWF4c2V0ID0gKihtYXhzZXQuYmVnaW4oKSk7CgkJCgkJaWYgKHNpemUgJSAyID09IDApIHsKCQkJZG91YmxlIHRlbXAgPSAobWF4X21pbnNldCArIG1pbl9tYXhzZXQpIC8gMi4wOwoJCQkKCQkJaWYgKHRlbXAgPT0gKGxvbmcgaW50KSB0ZW1wKSB7CgkJCQlwcmludGYoIiVsZFxuIiwgKGxvbmcgaW50KSB0ZW1wKTsKCQkJfSBlbHNlIHsKCQkJCXByaW50ZigiJS4xbGZcbiIsIHRlbXApOwoJCQl9CgkJfSBlbHNlIHsKCQkJcHJpbnRmKCIlbGRcbiIsIG1heF9taW5zZXQpOwoJCX0KCX0KCQoJcmV0dXJuIDA7Cn0=
stdin
NTAKYSAtMjE0NzQ4MzY0OAphIC0yMTQ3NDgzNjQ4CmEgLTIxNDc0ODM2NDcKciAtMjE0NzQ4MzY0OAphIDIxNDc0ODM2NDcKciAtMjE0NzQ4MzY0OAphIDEwCmEgMTAKYSAxMApyIDEwCnIgMTAKciAxMApyIDEwMApyIDEwMApyIDEwMApyIC0yMTQ3NDgzNjQ4CnIgMjE0NzQ4MzY0NwpyIDEwCmEgMQphIC0xCmEgMQphIC0xCnIgMQpyIC0xCnIgLTEKciAtMQpyIC0xCnIgMQpyIDEKciAwCmEgMAphIDEKYSAyMTQ3NDgzNjQ3CmEgMgpyIDEKYSAyMTQ3NDgzNjQ2CnIgMgphIDIxNDc0ODM2NDAKYSAxMApyIDIKciAyCnIgMgpyIDEKciAxCnIgMQphIDIxNDc0ODM2NDAKYSAyMTQ3NDgzNjQwCmEgLTIxNDc0ODM2NDgKYSAtMjE0NzQ4MzY0MApyIDIxNDc0ODM2NDA=
50
a -2147483648
a -2147483648
a -2147483647
r -2147483648
a 2147483647
r -2147483648
a 10
a 10
a 10
r 10
r 10
r 10
r 100
r 100
r 100
r -2147483648
r 2147483647
r 10
a 1
a -1
a 1
a -1
r 1
r -1
r -1
r -1
r -1
r 1
r 1
r 0
a 0
a 1
a 2147483647
a 2
r 1
a 2147483646
r 2
a 2147483640
a 10
r 2
r 2
r 2
r 1
r 1
r 1
a 2147483640
a 2147483640
a -2147483648
a -2147483640
r 2147483640
stdout
i = 1, || op = a, val = -2147483648, || Min Set --> -2147483648 || Max Set --> -2147483648
i = 2, || op = a, val = -2147483648, || Min Set --> -2147483648 || Max Set --> -2147483648 0
i = 3, || op = a, val = -2147483647, || Min Set --> -2147483648 -2147483648 || Max Set --> -2147483647 -2147483648
i = 4, || op = r, val = -2147483648, || Min Set --> -2147483648 || Max Set --> -2147483647 0.5
i = 5, || op = a, val = 2147483647, || Min Set --> -2147483648 -2147483647 || Max Set --> 2147483647 -2147483647
i = 6, || op = r, val = -2147483648, || Min Set --> -2147483647 || Max Set --> 2147483647 0
i = 7, || op = a, val = 10, || Min Set --> -2147483647 10 || Max Set --> 2147483647 10
i = 8, || op = a, val = 10, || Min Set --> -2147483647 10 || Max Set --> 10 2147483647 10
i = 9, || op = a, val = 10, || Min Set --> -2147483647 10 10 || Max Set --> 10 2147483647 10
i = 10, || op = r, val = 10, || Min Set --> -2147483647 10 || Max Set --> 10 2147483647 10
i = 11, || op = r, val = 10, || Min Set --> -2147483647 10 || Max Set --> 2147483647 10
i = 12, || op = r, val = 10, || Min Set --> -2147483647 || Max Set --> 2147483647 0
i = 13, Wrong!----->
i = 14, Wrong!----->
i = 15, Wrong!----->
i = 16,
stderr
*** Error in `./prog': free(): invalid pointer: 0xbfe0ceb4 ***
======= Backtrace: =========
/lib/i386-linux-gnu/i686/cmov/libc.so.6(+0x75e72)[0xb74f8e72]
/lib/i386-linux-gnu/i686/cmov/libc.so.6(+0x76bb0)[0xb74f9bb0]
/usr/lib/i386-linux-gnu/libstdc++.so.6(_ZdlPv+0x1f)[0xb76db82f]
./prog[0x8048e53]
./prog[0x8048b17]
/lib/i386-linux-gnu/i686/cmov/libc.so.6(__libc_start_main+0xf5)[0xb749c8f5]
./prog[0x8048c69]
======= Memory map: ========
08048000-0804a000 r-xp 00000000 08:01 14703 /home/czQRye/prog
0804a000-0804b000 rw-p 00001000 08:01 14703 /home/czQRye/prog
09970000-09991000 rw-p 00000000 00:00 0 [heap]
b7481000-b7483000 rw-p 00000000 00:00 0
b7483000-b762c000 r-xp 00000000 08:01 373 /lib/i386-linux-gnu/i686/cmov/libc-2.17.so
b762c000-b762d000 ---p 001a9000 08:01 373 /lib/i386-linux-gnu/i686/cmov/libc-2.17.so
b762d000-b762f000 r--p 001a9000 08:01 373 /lib/i386-linux-gnu/i686/cmov/libc-2.17.so
b762f000-b7630000 rw-p 001ab000 08:01 373 /lib/i386-linux-gnu/i686/cmov/libc-2.17.so
b7630000-b7633000 rw-p 00000000 00:00 0
b7633000-b764e000 r-xp 00000000 08:01 437 /lib/i386-linux-gnu/libgcc_s.so.1
b764e000-b764f000 rw-p 0001a000 08:01 437 /lib/i386-linux-gnu/libgcc_s.so.1
b764f000-b7650000 rw-p 00000000 00:00 0
b7650000-b7691000 r-xp 00000000 08:01 385 /lib/i386-linux-gnu/i686/cmov/libm-2.17.so
b7691000-b7692000 r--p 00040000 08:01 385 /lib/i386-linux-gnu/i686/cmov/libm-2.17.so
b7692000-b7693000 rw-p 00041000 08:01 385 /lib/i386-linux-gnu/i686/cmov/libm-2.17.so
b7693000-b776f000 r-xp 00000000 08:01 4970 /usr/lib/i386-linux-gnu/libstdc++.so.6.0.18
b776f000-b7770000 ---p 000dc000 08:01 4970 /usr/lib/i386-linux-gnu/libstdc++.so.6.0.18
b7770000-b7774000 r--p 000dc000 08:01 4970 /usr/lib/i386-linux-gnu/libstdc++.so.6.0.18
b7774000-b7775000 rw-p 000e0000 08:01 4970 /usr/lib/i386-linux-gnu/libstdc++.so.6.0.18
b7775000-b777c000 rw-p 00000000 00:00 0
b777d000-b7782000 rw-p 00000000 00:00 0
b7782000-b7783000 r-xp 00000000 00:00 0 [vdso]
b7783000-b77a2000 r-xp 00000000 08:01 422 /lib/i386-linux-gnu/ld-2.17.so
b77a2000-b77a3000 r--p 0001f000 08:01 422 /lib/i386-linux-gnu/ld-2.17.so
b77a3000-b77a4000 rw-p 00020000 08:01 422 /lib/i386-linux-gnu/ld-2.17.so
bfded000-bfe0e000 rw-p 00000000 00:00 0 [stack]