30161 - 圆桌问题

通过次数

1

提交次数

15

时间限制 : 1 秒
内存限制 : 128 MB

有来自 m 个不同单位的代表参加一次国际会议。第 i 个单位派出了 r_i 个代表。会议的餐厅共有 n 张餐桌,第 i 张餐桌可容纳 c_i 个代表就餐。为了使代表们充分交流,希望从同一个单位来的代表不在同一个餐桌就餐。请给出一个满足要求的代表就餐方案。

输入

输入的第一行是用空格隔开的两个整数,分别代表单位的个数 m 和餐桌的个数 n。第二行有 m 个用空格隔开的整数,第 i 个整数代表第 i 个单位的代表人数 r_i。第三行有 n 个用空格隔开的整数,第 i 个整数代表第 i 张餐桌能容纳的人数 c_i

输出

本题存在 Special Judge。请输出是否存在满足要求的就餐方案,若存在,请给出任意一种可行的方案。输出的第一行是一个非 01 的整数,若存在方案则输出 1,否则输出 0。若存在方案,则对于第 2 到第 (m + 1) 行,在第 (i + 1) 行输出 r_i 个整数,代表第 i 个单位的代表就餐的餐桌编号。

样例

输入

4 5
4 5 3 5
3 5 2 6 4

输出

1
1 2 4 5
1 2 3 4 5
2 4 5
1 2 3 4 5

提示

对于 100\% 的数据,保证 1 \leq m \leq 3001 \leq n \leq 3001 \leq r_i, c_i \leq 10^3。提示:请注意输入的第一行先读入 m 再读入 n

来源

网络流与线性规划24题