Plano de transporte
Há depósitos e lojas. O depósito dispõe de unidades de um produto, e a loja pode receber no máximo unidades.
Existem contratos. O contrato permite enviar no máximo unidades de seu depósito para sua loja . Contratos distintos podem ligar o mesmo par. Todas as quantidades enviadas devem ser inteiras e não negativas.
Escolha quanto enviar por cada contrato para maximizar a quantidade total enviada, sem ultrapassar o estoque de nenhum depósito, a capacidade de nenhuma loja ou o limite de nenhum contrato. Imprima um plano ótimo; qualquer plano ótimo será aceito.
Input
A primeira linha contém , e . A segunda contém ; a terceira contém . Cada uma das próximas linhas contém , e .
Output
Imprima a quantidade total enviada na primeira linha. Depois, imprima inteiros, um por linha: a quantidade enviada pelo contrato correspondente, na ordem da entrada. Se , imprima apenas a primeira linha.
Samples
Sample 1
Input
2 2 3 3 2 2 3 1 1 2 1 2 3 2 2 2
Output
5 2 1 2
O depósito 1 envia duas unidades para a loja 1 e uma para a loja 2. O depósito 2 envia duas para a loja 2. Os estoques e as capacidades das lojas são totalmente utilizados.
Sample 2
Input
1 1 2 5 5 1 1 4 1 1 4
Output
5 4 1
Os dois contratos ligam o mesmo par. Enviar 1 pelo primeiro e 4 pelo segundo é ótimo; enviar 4 pelo primeiro e 1 pelo segundo também seria aceito.