#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 ( "%ld " , * itr1) ;
++ itr1;
}
printf ( " || Max Set --> " ) ;
itr1 = maxset.begin ( ) ;
while ( itr1 ! = maxset.end ( ) ) {
printf ( "%ld " , * 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+IG1heHNldC5zaXplKCkgKyAxKSB7CgkJCW1heF9taW5zZXQgPSAqKC0tbWluc2V0LmVuZCgpKTsKCQkJbWluc2V0LmVyYXNlKG1pbnNldC5maW5kKG1heF9taW5zZXQpKTsKCQkJbWF4c2V0Lmluc2VydChtYXhfbWluc2V0KTsKCQl9CgkJCgkJcHJpbnRmKCIgfHwgb3AgPSAlYywgdmFsID0gJWxkLCB8fCBNaW4gU2V0IC0tPiAiLCBvcCwgdmFsKTsKCQlpdHIxID0gbWluc2V0LmJlZ2luKCk7CgkJd2hpbGUgKGl0cjEgIT0gbWluc2V0LmVuZCgpKSB7CgkJCXByaW50ZigiJWxkICIsICppdHIxKTsKCQkJKytpdHIxOwoJCX0KCQkKCQlwcmludGYoIiB8fCBNYXggU2V0IC0tPiAiKTsKCQlpdHIxID0gbWF4c2V0LmJlZ2luKCk7CgkJd2hpbGUgKGl0cjEgIT0gbWF4c2V0LmVuZCgpKSB7CgkJCXByaW50ZigiJWxkICIsICppdHIxKTsKCQkJKytpdHIxOwoJCX0KCQkKCQlzaXplID0gbWluc2V0LnNpemUoKSArIG1heHNldC5zaXplKCk7CgkJbWF4X21pbnNldCA9ICooLS1taW5zZXQuZW5kKCkpOwoJCQoJCWlmIChzaXplID09IDEgJiYgbWF4c2V0LmVtcHR5KCkpIHsKCQkJcHJpbnRmKCIlbGRcbiIsICooLS1taW5zZXQuZW5kKCkpKTsKCQkJY29udGludWU7CgkJfQoJCQoJCW1pbl9tYXhzZXQgPSAqKG1heHNldC5iZWdpbigpKTsKCQkKCQlpZiAoc2l6ZSAlIDIgPT0gMCkgewoJCQlkb3VibGUgdGVtcCA9IChtYXhfbWluc2V0ICsgbWluX21heHNldCkgLyAyLjA7CgkJCQoJCQlpZiAodGVtcCA9PSAobG9uZyBpbnQpIHRlbXApIHsKCQkJCXByaW50ZigiJWxkXG4iLCAobG9uZyBpbnQpIHRlbXApOwoJCQl9IGVsc2UgewoJCQkJcHJpbnRmKCIlLjFsZlxuIiwgdGVtcCk7CgkJCX0KCQl9IGVsc2UgewoJCQlwcmludGYoIiVsZFxuIiwgbWF4X21pbnNldCk7CgkJfQoJfQoJCglyZXR1cm4gMDsKfQ==
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: 0xbfe2d734 ***
======= Backtrace: =========
/lib/i386-linux-gnu/i686/cmov/libc.so.6(+0x75e72)[0xb747ee72]
/lib/i386-linux-gnu/i686/cmov/libc.so.6(+0x76bb0)[0xb747fbb0]
/usr/lib/i386-linux-gnu/libstdc++.so.6(_ZdlPv+0x1f)[0xb766182f]
./prog[0x8048e53]
./prog[0x8048b17]
/lib/i386-linux-gnu/i686/cmov/libc.so.6(__libc_start_main+0xf5)[0xb74228f5]
./prog[0x8048c69]
======= Memory map: ========
08048000-0804a000 r-xp 00000000 08:01 14706 /home/Zgo5qX/prog
0804a000-0804b000 rw-p 00001000 08:01 14706 /home/Zgo5qX/prog
09c6f000-09c90000 rw-p 00000000 00:00 0 [heap]
b7407000-b7409000 rw-p 00000000 00:00 0
b7409000-b75b2000 r-xp 00000000 08:01 373 /lib/i386-linux-gnu/i686/cmov/libc-2.17.so
b75b2000-b75b3000 ---p 001a9000 08:01 373 /lib/i386-linux-gnu/i686/cmov/libc-2.17.so
b75b3000-b75b5000 r--p 001a9000 08:01 373 /lib/i386-linux-gnu/i686/cmov/libc-2.17.so
b75b5000-b75b6000 rw-p 001ab000 08:01 373 /lib/i386-linux-gnu/i686/cmov/libc-2.17.so
b75b6000-b75b9000 rw-p 00000000 00:00 0
b75b9000-b75d4000 r-xp 00000000 08:01 437 /lib/i386-linux-gnu/libgcc_s.so.1
b75d4000-b75d5000 rw-p 0001a000 08:01 437 /lib/i386-linux-gnu/libgcc_s.so.1
b75d5000-b75d6000 rw-p 00000000 00:00 0
b75d6000-b7617000 r-xp 00000000 08:01 385 /lib/i386-linux-gnu/i686/cmov/libm-2.17.so
b7617000-b7618000 r--p 00040000 08:01 385 /lib/i386-linux-gnu/i686/cmov/libm-2.17.so
b7618000-b7619000 rw-p 00041000 08:01 385 /lib/i386-linux-gnu/i686/cmov/libm-2.17.so
b7619000-b76f5000 r-xp 00000000 08:01 4970 /usr/lib/i386-linux-gnu/libstdc++.so.6.0.18
b76f5000-b76f6000 ---p 000dc000 08:01 4970 /usr/lib/i386-linux-gnu/libstdc++.so.6.0.18
b76f6000-b76fa000 r--p 000dc000 08:01 4970 /usr/lib/i386-linux-gnu/libstdc++.so.6.0.18
b76fa000-b76fb000 rw-p 000e0000 08:01 4970 /usr/lib/i386-linux-gnu/libstdc++.so.6.0.18
b76fb000-b7702000 rw-p 00000000 00:00 0
b7703000-b7708000 rw-p 00000000 00:00 0
b7708000-b7709000 r-xp 00000000 00:00 0 [vdso]
b7709000-b7728000 r-xp 00000000 08:01 422 /lib/i386-linux-gnu/ld-2.17.so
b7728000-b7729000 r--p 0001f000 08:01 422 /lib/i386-linux-gnu/ld-2.17.so
b7729000-b772a000 rw-p 00020000 08:01 422 /lib/i386-linux-gnu/ld-2.17.so
bfe0d000-bfe2e000 rw-p 00000000 00:00 0 [stack]