P0912

[Swerc2010]Fakes coreboard

[Swerc2010]Fakes coreboard

有 TT 支队伍参加比赛,共有 PP 道题。已知每支队伍通过的题目数,以及每道题被通过的次数。请判断是否存在满足这些条件的通过情况。

如果存在,则输出字典序最小的方案;否则输出 Impossible。

输入格式

输入包含多组测试数据。

每组测试数据的第一行包含两个整数 TT 和 PP,分别表示队伍数和题目数。

第二行包含 TT 个整数 r1,r2,…,rTr_1,r_2,\ldots,r_T,其中 rir_i 表示第 ii 支队伍通过的题目数。这些整数可以相同。

第三行包含 PP 个整数 c1,c2,…,cPc_1,c_2,\ldots,c_P,其中 cjc_j 表示第 jj 道题被多少支队伍通过。这些整数可以相同。

当读入 0 00\ 0 时,输入结束。

输出格式

对于每组测试数据,如果不存在满足条件的方案,输出一行 Impossible。

否则,输出 TT 行,每行包含 PP 个字符。第 ii 行的第 jj 个字符为 Y,表示第 ii 支队伍通过了第 jj 道题;为 N,表示该队伍没有通过这道题。各行按照队伍的输入顺序排列,各列按照题目的输入顺序排列。

在所有满足条件的矩阵中,将这 TT 行按照行主序拼接成一个字符串,并输出字典序最小的方案。字符的字典序规定为 N 小于 Y。

相邻两组测试数据的输出之间恰好空一行。

样例输入

2 2
1 2
1 1

3 3
2 1 2
1 2 2

3 5
3 3 1
3 1 1 0 2

0 0

样例输出

Impossible

NYY
NNY
YYN

YNYNY
YYNNY
YNNNN

数据范围

  • 1≤T,P≤801\le T,P\le 80;
  • 0≤ri≤900\le r_i\le 90;
  • 0≤cj≤900\le c_j\le 90。

来源与许可

本题为 SWERC 2010 试题「Fakes coreboard」,题面与测试数据整理自 BZOJ。

样例 1

输入

2 2
1 2
1 1

3 3
2 1 2
1 2 2

3 5
3 3 1
3 1 1 0 2

0 0

输出

Impossible

NYY
NNY
YYN

YNYNY
YYNNY
YNNNN