有 $n$ 个盒子(编号为 $1$ 到 $n$)、$m$ 把钥匙(编号为 $1$ 到 $m$)和 $d$ 家商店(编号为 $1$ 到 $d$)。钥匙 $i$ 可以用来打开盒子 $a_{i,1}, \dots, a_{i,k_i}$ 中的任意一个。然而,一旦钥匙被用于打开一个盒子,它就会消失。因此,一把钥匙不能用于打开多个盒子。钥匙 $i$ 在商店 $s_i$ 出售,价格为 $c_i$ 美元。Akiba 想要购买一些钥匙并打开所有的盒子。(他不能多次购买同一把钥匙。)
Kitamasa 想要阻止 Akiba。为此,他可以在 Akiba 决定购买哪些钥匙之前更改某些钥匙的价格。如果他支付 $b_j$ 美元,他可以将商店 $j$ 出售的所有钥匙的价格提高 1 美元。对于每家商店,他可以重复此操作任意非负整数次:例如,如果他支付 $2b_j$ 美元,他可以将商店 $j$ 出售的所有钥匙的价格提高 2 美元。但是,例如当 $b_j = 2$ 时,他不能支付 1 美元并将价格提高 0.5 美元。
Akiba 的目标是最小化 (Akiba 的支付) - (Kitamasa 的支付),而 Kitamasa 的目标是最大化该值。计算当两名玩家都采取最优策略时的该值。如果答案可以无限大,输出 $-1$。保证如果 Kitamasa 什么都不做,Akiba 可以打开所有的盒子。
输入格式
第一行包含三个整数 $n, m$ 和 $d$ ($1 \le m \le 1000, n \le 100, 1 \le n, d \le m$)。
接下来 $m$ 行,每行描述一把钥匙。每行以三个整数开头:$c_i$(钥匙的价格)、$s_i$(出售该钥匙的商店编号)和 $k_i$(该钥匙可以打开的盒子数量)。随后是 $k_i$ 个整数:这些盒子的编号($1 \le c_i \le 1000, 1 \le s_i \le d, 1 \le k_i \le \min(10, n), 1 \le a_{i,j} \le n$,且若 $j \neq k$ 则 $a_{i,j} \neq a_{i,k}$)。
接下来 $d$ 行,每行包含一个整数 $b_i$ ($1 \le b_i \le 1000$)。
输出格式
输出一个整数:问题的答案。
样例
输入 1
3 4 1 2 1 2 1 2 2 1 2 2 3 2 1 2 3 1 3 1 3 1 2 3 5
输出 1
6
输入 2
3 4 1 2 1 2 1 2 2 1 2 2 3 2 1 2 3 1 3 1 3 1 2 3 2
输出 2
-1
输入 3
2 3 2 3 1 2 1 2 4 1 1 2 5 2 2 1 2 1 2
输出 3
8