Central de atendimento
Uma central tem servidores, numerados de 1 a . O servidor executa unidades de trabalho por unidade de tempo. Todos começam livres no instante 0.
Há solicitações, numeradas de 1 a na ordem em que aparecem na entrada. A solicitação chega no instante , tem prioridade (quanto menor, mais prioritária), exige unidades de trabalho, só pode ser iniciada até o instante e informa quais servidores podem atendê-la. Se iniciar no servidor no instante , termina em
Um atendimento não é interrompido. Pode terminar depois de : esse limite vale somente para o início.
Em cada instante em que chega alguma solicitação ou termina algum atendimento, aplique estas etapas:
- Libere todos os servidores que terminam nesse instante e acrescente todas as solicitações que chegam nesse instante à espera.
- Considere os servidores livres em ordem crescente de identificador. Para cada um, escolha entre as solicitações ainda esperando que ele pode atender e cujo prazo de início não expirou. Escolha a menor tripla em ordem lexicográfica: menor prioridade numérica, depois chegada mais antiga, depois menor identificador. Comece imediatamente esse atendimento. Uma solicitação escolhida deixa de estar disponível para os próximos servidores.
Um servidor sem solicitação elegível continua livre. Solicitações cujo prazo passa enquanto esperam nunca serão atendidas. Determine o servidor e o instante de término de cada solicitação, ou informe que ela não foi atendida. A entrada não precisa estar ordenada por chegada.
Input
A primeira linha contém e . A segunda contém as velocidades . As próximas linhas contêm , , , e uma palavra de caracteres ou . O caractere é se o servidor pode atender a solicitação .
Output
Imprima linhas, na ordem original das solicitações. Para uma solicitação atendida, imprima o identificador do servidor e o instante de término. Para uma não atendida, imprima 0 -1.
Samples
Sample 1
Input
4 2 1 2 0 0 2 4 11 0 0 1 4 11 2 2 1 2 10 2 3 1 2 01
Output
2 2 1 4 0 -1 2 3
No instante 0, o servidor 1 escolhe a solicitação 2, e o servidor 2 escolhe a 1. No instante 2, o servidor 2 fica livre e atende a 4. A solicitação 3 só aceita o servidor 1, que fica livre depois de seu prazo.