UOJ Logo

NOI.AC

1S 64MB

#2116. 聊天服务器的外部流量

Statistics

【问题描述】

$Polycarp $正致力于一个叫$“Ploychat”$的新项目。为了跟上$IT$ 界的当代趋势,他决定,为这个 项目添加聊天功能。为了达到这个目标,$Ploycarp $ 已经在他的笔记本前花了几个小时并编写了一个 能执行三种类型的命令的聊天服务器: 1 将一个人添加到聊天室中(“$Add$”命令)。 2 将一个人从聊天室中踢出(“$Remove$”命令)。 3 单人向所有聊天室内的人发送信息,包括发送信息的人自己(“$Send$”命令)。 现在Polycarp 想找出这个服务器在处理一个特定的命令集合时所产生的总外部流量。 $Polycarp$ 知道服务器在执行“$Add$ ”和“$Remove$”命令时不产生流量。当处理“$Send$”命令时, 服务器发送$L$ 字节数据给每个聊天的参与者,$L $代表信息的长度。由于$Polycarp$ 没时间,他请求你帮他解决这个问题。

【输入格式】

输入包含不超过$100 $条命令,每个命令一行。没有一行超过$100 $个字符,命令 格式如下: 1 +<$name$>代表“$Add$”命令。 2 -<$name$>代表“$Remove$”命令。 3 <$sender$ $name$>:<$message$ $text$>代表“Send”命令。 <$name$>和<$sender$ $name$>是由英文字母和数字组成的非空序列。<$message$ $text$>能包括 字母,数字和空格,但是不能由空格开始。<$message$ $text$>可以是一个空行。 数据保证输入数据正确,即不会添加已被“Add”过的人,也不会删除不存在的人。 所有名字区分大小写。

【输出格式】

输出包含一个数表示问题的答案。

【输入样例】

+Mike       
Mike:hello
+Kate 
+Dmitry 
-Dmitry 
Kate:hi
-Kate

【输出样例】

9

【输入样例】

+Mike                                
-Mike 
+Mike 
Mike:Hi   I am here
-Mike 
+Kate 
-Kate

【输出样例】

14