EduBrick

F. Мультимножество с суммой

2000 мс · 256 МБ · всё или ничего

Промоделируйте работу мультимножества, которое умеет ещё и отдавать сумму всех своих элементов.

  • insert x — добавить вхождение xx; вывести ok;
  • erase x — удалить одно вхождение xx; вывести ok, даже если вхождений не было;
  • sum — вывести сумму всех элементов с учётом кратности;
  • size — вывести количество элементов с учётом кратности;
  • min и max — вывести наименьший или наибольший элемент, либо none, если мультимножество пусто;
  • exit — вывести bye и завершить работу.

Сумму нельзя пересчитывать заново на каждый запрос: её надо поддерживать.

Формат ввода

Команды, по одной на строке, не более 10510^5 штук. Последняя команда — exit.

Все числа целые и по модулю не превосходят 10910^9.

Формат вывода

Протокол работы, по одной строке на команду.

Примеры

ввод
insert 5
insert 5
sum
size
erase 5
sum
min
max
erase 5
sum
min
exit
вывод
ok
ok
10
2
ok
5
5
5
ok
0
none
bye
Войдите, чтобы отправлять решения.