Logo HelloWorld信息学奥赛题库

少儿编程

时间限制:1 s 空间限制:512 MB
Statistics

题目描述

有一群(N个)要互送礼物的朋友,现在要确定每个人收到的比送出的钱多的数目。每个人都准备了一些钱来送礼物,而这些钱将会被平均分给那些将收到他的礼物的人(假如A要把100元送给3个朋友,那么这三个朋友每个人收到33元,而实际A送出去的钱是99元)。然而,有些人可能会送出较多的礼物,所以准备了较多的钱。

给出N个人,每个人的名字都是小于 14个 字符的字符串,然后给出每个人将花在送礼上的钱,和将收到他的礼物的人的人数和姓名列表,请计算出每个人收到的比送出的钱多的数目。

输入格式

第 1 行:人数 NP,2<= NP<=10

第 2 到 NP+1 行:这 NP 个在组里人的名字 一个名字一行

第 NP+2 到最后:这里的 NP 段内容是这样组织的:

第一行是将会送出礼物人的名字.

第二行包含二个数字: 第一个是原有的钱的数目(在 0 到 2000 的范围里),第二个 NGi 是将收到这个送礼者礼物的人的个数 如果 NGi 是非零的, 在下面 NGi 行列出礼物的接受者的名字,一个名字一行.

输出格式

输出 NP 行

每行是一个的名字加上空格再加上收到的比送出的钱多的数目.

对于每一个人,他名字的打印顺序应和他在输入的 2 到 NP+1 行中输入的顺序相同.所有的送礼的钱都是整数.

每个人把相同数目的钱给每位要送礼的朋友,而且尽可能多给,不能给出的钱被送礼者自己保留.

样例数据

input

5
dave
laura
owen
vick
amr
dave
200 3
laura
owen
vick
owen
500 1
dave
amr
150 2
vick
owen
laura
0 2
amr
vick
vick
0 0

output

dave 302
laura 66
owen -359
vick 141
amr -150