Dyson Sphere Program(200分)
题号:NC218066
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

在《戴森球计划》中,用1个铁块可以合成1个齿轮或者1个磁铁,2个磁铁和1个铜块可以合成1个线圈,用2个铁块,1个齿轮和1个线圈可以合成电动机。因此,合成一个电动机需要5个铁块和1个铜块。现在有一份待供给的材料列表,库存列表,和全部的合成方法,求每种基础材料还需要的个数。注意,无法合成的是基础材料,每种非基础材料只有一种合成方法,合成图无环。

输入描述:

第一行包含一个整数,代表有种材料。

第二行包含个整数,代表每种材料的需求量。

第三行包含个整数,代表每种材料的库存。

接下来行,每行首先是一个整数,若则该材料为基础材料,否则接下来个整数为材料种类,为需要的个数。

输出描述:

输出一行共个数,分别表示每种材料的还需要的数量,非基础材料输出0。输出对取模。
示例1

输入

复制
6
0 0 0 0 0 1
0 0 0 0 0 0
0
1 1 1
1 1 1
0
2 3 2 4 1
3 1 2 2 1 5 1

输出

复制
5 0 0 1 0 0

备注:

对于的数据,

对于的数据,

对于的数据,