El problema

Este problema involucra a un determinado grupo de amigos que se dan regalos, cuanto más da cada persona ellos también reciben (y viceversa pero aquellos ven esto con cinismo).

En este problema cada persona reparte algo de dinero para dar regalos y divide este dinero con igualdad entre todos a quienes debe dar un regalo.

Sin embargo, en algún grupo de amigos, algunas personas dan más que otras (o al menos pueden tener más conocidos) y algunas personas tienen más dinero que otras.

Dado un grupo de amigos, el dinero que cada persona gasta en regalos, y una (sub) lista de amigos a quienes cada persona debe dar regalo, tienes que escribir un programa que determine cuánto más (o menos) cada persona en el grupo da y recibe.

La entrada

La entrada se una secuencia de grupos de intercambio de regalos. Un grupo consiste de varias líneas:

Todos los nombres están en letras minúsculas, no hay más de 10 personas en un grupo y los nombres no tiene más de 12 caracteres. El dinero es un entero positivo menor que 2000.

La entrada consiste de uno o más grupos y termina con fin de archivo.

La salida

Para cada grupo de intercambio de regalos, el nombre de cada persona del grupo debe ser impresa en una línea seguida por lo ganado (o perdido) recibido (o gastado) por la persona. Los nombres del grupo deben ser impresos en el mismo orden en el que aparecen en la entrada.

La salida para cada grupo debe estar separada de otros grupos por una línea en blanco. Todos los regalos son enteros. Cada persona da el mismo monto entero de dinero a cada amigo a quien da algo, y da mientras sea posible. Algún dinero no dado se mantiene y es parte de una persona "valor neto" impreso en la salida.

Ejemplo de entrada

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
3
liz steve dave
liz 30 1 steve
steve 55 2 liz dave
dave 0 2 steve liz

Ejemplo de salida

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

liz -3
steve -24
dave 27