Voltar

uCoder | 1185 | Nível: 3 | Tempo Limite: 5

Matemática é o melhor remédio

Adaptado por erich.rodriguesf

Competição: Interfatecs 2015


Toninho está doente, abatido, macambúzio. Também está sorumbático e meditabundo com seus problemas de saúde. Ele, que é professor de Matemática, saiu da consulta com o médico bastante desanimado, cheio de remédios para tomar. O doutor que o atendeu até tentou animá-lo, sacaneando um pouco na receita com um pequeno desafio matemático ao taciturno paciente (vai que o Toninho se anima um pouco ...). A receita emitida pelo médico indica, para cada remédio, quantas vezes este deve ser ingerido por dia e também a quantidade (em mg) referente a cada dose. O médico orientou a Toninho para que tome a primeira dose de cada remédio todas juntas, e depois siga tomando a medicação segundo o horário de cada uma até que ocorra uma nova situação de coincidência total, em que ele precise novamente tomar todos os remédios juntos. Quando isso acontecer ele deve tomar a dose de cada remédio e então suspender a medicação. Repare que o médico não especificou diretamente na receita por quanto tempo ou quantas doses Toninho precisa tomar de cada remédio, ele precisará fazer as contas para saber. Esse é o singelo desafio que o dedicado doutor propôs ao moribundo como uma até certo ponto sádica forma de animá-lo. Sua tarefa neste problema será determinar por quantos dias Toninho tomará a medicação e quanto de remédio ele terá que tomar e comprar.


Entrada

A entrada possui vários casos de teste. Inicialmente um valor Q é informado, indicando a quantidade de casos a serem processados. A descrição de cada caso é iniciada por um inteiro N, que indica a quantidade de remédios distintos que Toninho precisa tomar. Seguem-se N linhas, cada uma contendo uma string de até 20 caracteres alfanuméricos que corresponde ao nome do remédio, um inteiro D que representa a quantidade (em mg) correspondente a uma dose, um inteiro I que representa de quantas em quantas horas Toninho deve tomar uma dose daquele remédio e um inteiro C que indica quantos mg existem em cada caixa do remédio. Assuma que 1 ≤ Q ≤ 100; 2 ≤ N ≤ 200; 1 ≤ D ≤ 500; 1 ≤ I ≤ 10 e 1 ≤ C ≤ 1000.


Saída

Para cada caso de teste, imprima o número sequencial do caso, conforme mostra o exemplo. Em uma nova linha imprima um inteiro indicando por quantos dias vai se estender a medicação, assumindo que Toninho vai tomar a primeira dose exatamente no primeiro instante após a meia noite do dia 1 do tratamento. Em seguida, imprima N linhas, uma para cada remédio, contendo o nome do medicamento, a quantidade total em mg que Toninho precisa ingerir daquele remédio e a quantidade de caixas que precisarão ser compradas para atender à necessidade do doente. Imprima os dados dos remédios em ordem alfabética dos seus nomes. Deixe uma linha em branco após cada caso de teste.


Exemplo de Entrada Exemplo de Saída

2
3
Amarazil 5 2 20
Mapetilec 1 3 8
Alopram 3 8 12
5
Pteridax 1 2 12
Xanxalan 1 3 5
Apurinol 3 2 20
Hemorroidol 5 3 500
Ateridan2b 10 7 12

Caso 1:
Total de dias = 1
Alopram 12 1
Amarazil 65 4
Mapetilec 9 2


Caso 2:
Total de dias = 2
Apurinol 66 4
Ateridan2b 70 6
Hemorroidol 75 1
Pteridax 22 2
Xanxalan 15 3