Picture by HarshLight via Flickr
世界闻名的瑞典厨师正在为一些布偶策划一顿美味的三道菜晚餐:一道前菜、一道主菜和一道甜点。他著名的瑞典食谱为这三道菜中的每一道都提供了多种选择,尽管其中一些搭配并不协调(例如,你当然不能在同一顿晚餐中同时供应巧克力慕斯和烟熏虾)。
每道潜在的菜肴都有一份配料表。每种配料又可以从几种不同的品牌中选择。当然,每个品牌都有其独特的风味,因此使用某种配料的特定品牌,总是会产生与使用该配料的另一个品牌完全不同的晚餐体验。
一些常见的配料(例如 pølårber)可能会出现在三道菜中的两道或全部三道中。当一种配料被用于超过一道选定的菜肴时,瑞典厨师会在所有这些菜肴中使用相同品牌的配料。
在等待 meecaroo 的同时,瑞典厨师开始思考:通过对菜肴和配料品牌的不同选择,他总共能做出多少种不同的晚餐体验?
输入格式
输入包含:
- 一行包含五个整数 $r, s, m, d, n$,其中 $1 \le r \le 1\,000$ 是存在的不同配料数量,$1 \le s, m, d \le 25$ 分别是可用的前菜、主菜和甜点的数量,$0 \le n \le 2\,000$ 是不协调的菜肴对的数量。
- 一行包含 $r$ 个整数 $b_1, \dots, b_r$,其中 $1 \le b_i \le 100$ 是配料 $i$ 的不同品牌数量。
- $s + m + d$ 行描述 $s$ 道前菜,然后是 $m$ 道主菜,最后是 $d$ 道甜点。每行以一个整数 $1 \le k \le 20$ 开头,表示该菜肴的配料数量,随后是 $k$ 个不同的整数 $i_1, \dots, i_k$,其中对于每个 $1 \le j \le k$,$1 \le i_j \le r$ 是一种配料。
- $n$ 行,每行包含两个不协调的菜肴。每道菜由一个整数 $1 \le j \le s + m + d$ 标识,指代输入中给出的第 $j$ 道菜(其中 $1 \le j \le s$ 指代前菜,$s < j \le s + m$ 指代主菜,$s + m < j \le s + m + d$ 指代甜点)。
输入中的每一对不协调菜肴由两种不同类型的菜肴组成,且任何一对菜肴最多被列出一次。
输出格式
如果瑞典厨师能做出的不同晚餐体验数量最多为 $10^{18}$,则输出该数字。否则,输出 “too many”。
样例
输入格式 1
6 1 1 1 0 2 3 1 5 3 2 2 1 2 3 3 4 5 1 6
输出格式 1
180
输入格式 2
3 2 2 1 1 2 3 2 1 1 1 2 1 2 1 3 1 1 2 3
输出格式 2
22
输入格式 3
3 1 1 1 1 5 5 5 3 1 2 3 3 1 2 3 3 1 2 3 2 1
输出格式 3
0
输入格式 4
10 1 1 1 0 100 100 100 100 100 100 100 100 100 100 4 1 2 3 4 3 5 6 7 3 8 9 10
输出格式 4
too many