Байтландская промышленность регулярно выпускает новые модели ноутбуков. Со временем устаревшие модели снимают с производства, им на смену приходят новые. Байтландское законодательство очень строго в плане государственных закупок: для государственных нужд можно закупать на тендере только модели ноутбуков, цена которых равна средней цене всех выпускаемых в данный момент моделей ноутбуков.
Тем не менее, государственные служащие все же нуждаются в выборе и вам необходимо определить, сколько моделей ноутбуков подходят для закупки на тендере в определенные моменты времени.
В первой строке входного файла задано количество запросов n (1 ≤ n ≤ 105). В следущих n строках заданы запросы. Запросы бывают трех видов:
• запрос на добавление модели в производство в виде «+ k», где k — стоимость новой модели (0 ≤ k ≤ 1013, k целое)
• запрос на удаление наиболее устаревшей модели из производства в виде «-». Наиболее устаревшей моделью считается та, которая начала выпускаться раньше, чем все остальные, выпускаемые в данный момент. Гарантируется, что при поступлении этого запроса в производстве есть хотя бы одна модель.
• запрос на вывод количества моделей в производстве, стоимость которых равна среднему арифметическому стоимостей всех ноутбуков, выпускаемых в данный момент. Запрос поступает в виде строки « ». Гарантируется, что в момент запроса в производстве есть хотя бы одна модель.
Изначально в производстве нет ни одной модели.
Формат вывода
На каждый запрос вида « » выведите ответ в отдельной строке. ответы выводите в порядке следования запросов во входном файле.
Пример
Ввод
Вывод
10
+ 1
+ 4
+ 3
+ 4
?
-
-
?
-
?
1
0
1
USES CRT;
VAR A:array[1..100] of Longint;
s:integer;
x,i:Longint;
BEGIN
CLRSCR;
Repeat
Writeln('Введите 7-ми значное число');
Readln(x);
i:=x;
s:=0;
while i>0 do
begin
i:=i div 10;
s:=s+1;
end;
if s > 7 then Writeln('Вы ввели число больше');
if s < 7 then Writeln('Вы ввели число меньше');
Writeln;
until s=7;
for i:=1 to 7 do
begin
A[i]:=x mod 10;
x:=x div 10;
end;
for i:=1 to 7 do
Write(A[i],' ');
READLN;
END.