Budget
题号:NC238100
时间限制:C/C++/Rust/Pascal 3秒,其他语言6秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

现在有一个mn列的矩阵,每个位置都有一个非负整数。

告诉你矩阵第i行的元素之和为a_i,第i列的元素之和为b_i

以及c个限制条件,每个个限制条件形如,其中的一种。表示同时处于第r行第c列的元素(即第i行第j列的那一个元素)使用v做运算恒为真,其中如果r(或c)为0,则表示对于所有的行(或列)都要满足这个条件。例如表示第1列的所有元素都大于3。而表示矩阵所有元素都等于5

现在请你找出一个矩阵,使得它满足上述所有条件(如果有多个可能的矩阵,输出任意一个即可),如果不存在同时满足所有条件的矩阵,输出"IMPOSSIBLE"(不含引号)。

输入描述:

第一行两个整数
接下来一行m个整数表示
接下来一行n个整数表示
接下来一行一个整数表示
接下来c行每行一个条件

输出描述:

输出一个矩阵表示答案,或者输出"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
示例2

输入

复制
2 2 
4 5 
6 7 
1 
1 1 > 10

输出

复制
IMPOSSIBLE