[网络流24题]圆桌问题
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

假设有来自  个不同单位的代表参加一次国际会议。每个单位的代表数分别为 。会议餐厅共有  张餐桌,每张餐桌可容纳个代表就餐。
为了使代表们充分交流,希望从同一个单位来的代表不在同一个餐桌就餐。试设计一个算法,给出满足要求的代表就餐方案。
编程任务:对于给定的代表数和餐桌数以及餐桌容量,编程计算满足要求的代表就餐方案。

输入描述:

第 1 行有 2 个正整数  和  表示单位数, 表示餐桌数,
第 2 行有  个正整数,分别表示每个单位的代表数
第 3 行有  个正整数,分别表示每个餐桌的容量。

输出描述:

程序运行结束时,将代表就餐方案输出。
如果问题有解,第 1 行输出1,否则输出0。
接下来的  行给出每个单位代表的就餐桌号。
示例1

输入

复制
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

备注:

保证