#148. 计算机工厂

计算机工厂

Description

每台计算机都由PP个零件组成。

当所有这些零件都存在时,计算机就组装好了。

NN台不同的机器组装计算机。

每台机器都从半成品计算机上删除或添加一些零件。

输入规范描述了在半成品计算机中必须包含哪些零件。

规范是一组PP个数字001122,其中00表示不需要该零件,11表示需要该零件,22表示无所谓。

输出规范描述了操作结果,是一组PP个数字0011,其中00表示该零件不存在,11表示该零件存在。

求解如何重新安排生产线可获得最大的整体性能。

Format

Input

输入文件包含整数PPNN,然后是机器的NN个描述。

对第ii台机器的描述用22PP+11整数QiQ_iSi,1S_{i,1}Si,2S_{i,2}Si,PS_{i,P}Di,1D_{i,1}Di,2D_{i,2}Di,PD_{i,P}表示,其中QiQ_i表示单位时间的产能,Si,jS_{i,j}表示第jj部分的输入规范,Di,kD_{i,k}表示第kk部分的输出规范。

11PP110011NN550011QiQ_i1100000000

Output

输出可能的最大整体性能,然后是MM必须建立的连接数,接着是MM个连接描述。

对机器AA和机器BB之间的每个连接都必须用33个正数以“AA BB WW”形式描述,其中WW是每小时从机器AA传送到机器BB的计算机数量。

若存在多个解决方案,则输出其中任意一个。

Samples

3 4
15 0 0 0  0 1 0
10 0 0 0  0 1 1
30 0 1 2  1 1 1
3 0 2 1  1 1 1
3 5
5 0 0 0  0 1 0
100 0 1 0  1 0 1
3 0 1 0  1 1 0
1 1 0 1  1 1 0
300 1 1 2  1 1 1
2 2
100 0 0 1 0
200 0 1 1 1
25 2
1 3 15
2 3 10

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


00