#1471. 变量初始化

变量初始化

题目描述

N\red N 个程序和 M\red M 个变量,一个程序能够对于需要的 I\red I 个变量(in1,in2,in3,...,inI\red {in_1,in_2,in_3,...,in_I}) 生成 O\red O 个变量(out1,out2,out3,,outO\red {out_1,out_2,out_3,„,out_O}),并且需要花费 T\red T 的时间,一个程序能够运行 当且仅当它需要的 I\red I 个变量都被初始化了,并且花费 T\red T 的时间运行完之后能够使对应的 O\red O 个变量初始化

现在给出这 N\red N 个程序和一个目标 t\red t,要求算出最少的时间使得 t\red t 变量被初始化了

时间 从 0\red 0 开始

如果不能使得 t\red t 这个变量初始化,输出1\red {-1}

输入格式

第一行一个整数 Test 表示数据组数,接下来 Test 组数据

对于每组数据: 第一行为三个整数 N\red N,M\red M,t\red t,表示的意义如题所述

第二行是一个长度为 M\red M01\red {01} 串,其中第 i\red i 个字符为 1\red 1 表示第 i\red i 个变量一开始时 就被初始化了

接下来 N\red N 行每行描述了一个程序

对于一个程序,其描述为

T I(in1,in2,in3,...,inI)O(out1,out2,out3,,outO)\red {T\ I (in_1,in_2,in_3,...,in_I) O (out_1,out_2,out_3,„,out_O)}

输出格式

共输出 Test 行,每行一个数表示对应数据的答案

样例

输入样例

4
4 5 5 
1 0 0 0 0
2 1 1 1 2 
3 1 1 1 3 
4 1 2 1 4 
1 2 3 4 1 5 
1 2 1 
01
31 1 2 1 1 
3 5 5
1 0 1 0 0  
3 1 1 1 2  
1 1 3 1 4  
3 2 4 2 1 5 
1 3 3 
100 
1 1 1 1 2

输出样例

7 
31 
6 
-1

【数据规模】

对于 100%\red {100\%}的数据,1<=Test<=101<=N,M<=5001<=t<=M\red {1<=Test<=10,1<=N,M<=500,1<=t<=M};

对于一个程序,1<=T<=1001<=I,O<=101<=ini,outi<=M\red {1<=T<=100,1<=I,O<=10,1<=in_i,out_i<=M};