现在要针对多赛区竞赛制定一个预算,该预算是一个行代表不同种类支出、列代表不同赛区支出的矩阵。组委会曾经开会讨论过各类支出的总和,以及各赛区所需支出的总和。另外,组委会还讨论了一些特殊的约束条件:例如,有人提出计算机中心至少需要1 000k里亚尔(伊朗货币),用于购买食物;也有人提出Sharif赛区用于购买T恤衫的费用不能超过30 000k里亚尔。组委会的任务是制定一个满足所有约束条件且行列和满足要求的预算。
输入
输入文件包含多个测试数据。输入文件的第 1 行是正整数 T,表示测试数据的个数。接下来是一个空行,然后是 T 个测试数据。
每个测试数据的格式如下。
第 1 行为两个整数 m 和 n,分别表示矩阵的行数和列数,m≤200,n≤20。
第 2 行包括 m 个整数,代表矩阵每一行的和。
第 3 行包括 n 个整数,代表矩阵每一列的和。
第 4 行是整数 c,表示约束条件的个数。
接下来 c 行,每行给出一个约束条件,格式为:r q 字符 v,其中整数 r 和 q 分别代表行号和列号(如果 r 和 q 都为 0,代表整个矩阵;如果 r 或 q 有一个为 0,则代表 r 整行或 q 整列;否则,代表第 r 行第 q 列);字符取值为{<, =, >};v为整数。例如,1 2 > 5 表示第 1 行第 5 列的元素必须严格大于 5 ;4 0 = 3 表示第 4 行的元素必须都等于 3 。
输出
对每组输入数据,输出一个符合要求的所有元素均非负的矩阵,如果找不到这样的矩阵,则输出“IMPOSSIBLE”,每两个矩阵之间输出一个空行。
样例
| 标准输入 复制文本 |
1 2 3 8 10 5 6 7 4 0 2 > 2 2 1 = 3 2 3 > 2 2 3 < 5 |
| 标准输出 复制文本 |
2 3 3 3 3 4 |