#P7265. 变换

变换

Problem Description

在一些压缩算法中,可以利用测量矩阵将向量的维数改变。

其中有$C=A\times B $,其中$A$为$1\times N$的向量,$B$为$N\times M$的测量矩阵,$C$则为$1\times M$的向量。描述了通过矩阵乘法,将长度为$N$的向量变换为长度为$M$的向量。其中的向量和矩阵都由非负整数组成。

此时发生了一些问题,$A$向量中有一个元素变成了未知的,你需要将它求解出来。除此之外,你还需要判断是否存在多解和无解的情况。

注意:$A,B,C$中所有的数字都在$[0,10^9]$中并且为整数,若有解但不满足上述条件也被视为无解。

Input

第一行输入一行一个正整数$T[1\leq T\leq 10]$,代表数据的组数。

对于每一组数据,第一行输入两个正整数$N,M[1\leq N,M\leq 1000]$。

第二行输入一行$N$个整数,代表$A$向量。

接下来的$N$行,每行$M$个整数,代表变换矩阵$B$。

接下来一行输入$M$个整数,代表$C$向量。

说明:$A$向量中有且仅有一个-1,为缺失的数据,保证其余的所有数据都在$[0,10^9]$以内。

Output

对于每组数据,如果解唯一,输出解的数值;如果解不唯一,输出`INF`,若无解,输出`ERROR`。

2 3 2 2 -1 4 1 4 2 3 3 4 20 33 3 2 2 -1 4 1 4 2 4 3 4 19 34
3 ERROR