#T008. 聊天服务器流量统计

聊天服务器流量统计

Description

Polycarp 正在开发一个名为 "Polychat" 的新项目。根据现代 IT 的发展趋势,他决定这个项目还应该包含聊天功能。为了实现这个目标,Polycarp 在笔记本电脑前花了几个小时,开发了一个可以处理三种命令的聊天服务器:

  • 加入聊天对象( Add 命令 )。
  • 从聊天中删除某人( Remove 命令 )。
  • 将一个人的信息发送给当前聊天中的所有人,包括发送信息的人( Send 命令 )。

现在,Polycarp 希望计算服务器在处理一组特定命令时将产生的出站流量。 Polycarp 的聊天服务器不会因为 AddRemove 命令产生流量。只有在处理 Send 命令时,服务器会向每个聊天参与者(包括发送者自己)发送 ll 字节,其中 ll 是信息的长度。

由于 Polycarp 没有时间,他请求您帮助解决这个问题。

Input

输入文件将包含不超过 100100 条命令,每条命令独立成行。每行不得超过 100100 个字符。命令格式如下:

  • +<name>Add 命令。
  • -<name> 用于 Remove 命令。
  • <sender_name>:<message_text> 用于 Send 命令。

<name><sender_name> 是由字母和空格组成的字符串,表示用户名。<message_text> 可以包含字母、符号、数字和空格,但不能以空格开始或结束,不过可以是空行。 保证输入的数据是正确的,也就是说,如果聊天中已经有这样名字的人,就不会有 Add 命令;如果聊天中没有这样名字的人,就不会有 Remove 命令。

所有名字都区分大小写。

Output

打印一个数字 -- 问题的答案。

+Mike
Mike:hello
+Kate
+Dmitry
-Dmitry
Kate:hi
-Kate
+Mike
-Mike
+Mike
Mike:Hi   I am here
-Mike
+Kate
-Kate
9
14