#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