394. 习题 2.18 送礼物

Easy字符串结构体数据结构

时间限制:1000 ms

内存限制:512 MiB

题面

KK 国的圣诞节这天,根据习俗,朋友们会互相赠送礼物。又到了圣诞节这天,人们又开始为礼物发愁了。

今天,每个人都准备好了数份礼物,去送给他认识的人。有的人很慷慨,会准备很多礼物。而又有的人人缘很好,会收到来自很多人的礼物。你正好在圣诞节这天经过 KK 国,而你看到在广场上有很多人在互相赠送礼物。你很好奇这些人在这一天到底是送出的礼物多,还是收到的礼物多,于是你决定统计每个人收到礼物的价值超过赠送礼物价值的数量。

输入格式

第一行两个整数 n,mn, m (1n,m101 \le n, m \le 10) 。

第二行 nn 个字符串,第 ii 个字符串 nameiname_i (1si101 \le |s_i| \le 10),代表第 ii 个人的名字(仅包含大小写字母)。

接下来 mm 行,每行开始是一个字符串 s0s_0和两个整数 vali,numival_i, num_i (ivali1000i \le val_i \le 1000, 1numi101 \le num_i \le 10),代表名字是 s0s_0 的人准备了 numinum_i 份价值为 valival_i 的礼物,接下来 numinum_i 个字符串,代表收到这些礼物的人的名字。

数据保证不会有两个名字相同的人。

输出格式

输出共 nn 行,每行一个字符串 sis_i 和一个整数 recirec_i ,代表人物的姓名和收到超过赠送礼物的价值。

按照 recirec_i 降序输出,如果 recirec_i 相同,按照 sis_i 字典序输出。

样例

输入

4 4
Aaron Benson Howard Ophelia
Aaron 300 3 Benson Howard Ophelia
Benson 150 2 Aaron Ophelia
Howard 100 1 Benson
Ophelia 200 2 Aaron Howard

输出

Howard 400
Benson 100
Ophelia 50
Aaron -550

提示

一个人可以准备多次价值不同的礼物,也可能一次送给同一个人几份礼物。