O Nuno é um grande maratonista olímpico português, dos melhores do mundo! Dentro de momentos, o Nuno vai participar numa maratona muito importante, mas infelizmente está a chover! Graças à chuva, formaram-se vários charcos pela pista, que dificultam a corrida.
A pista de corrida está coberta por N charcos, cada um representado por um retângulo com coordenadas inteiras e positivas, sendo que nenhum charco se interseta (ou seja, qualquer ponto da pista está coberto por no máximo um charco). O Nuno começa a sua corrida num ponto com coordenada y igual a 1 e corre sempre em frente no sentido sul, ou seja, corre todos os pontos com a mesma coordenada x até terminar a prova, passando por todos os charcos que encontra no caminho.
Por exemplo, para uma pista com N = 3 charcos com as seguintes coordenadas (no formato x1 y1 x2 y2, em que x1 y1 são as coordenadas do ponto superior esquerdo e x2 y2 do inferior direito):
1 1 2 2 3 2 6 3 2 4 5 6
O Nuno está a pensar em começar a sua corrida na posição 3 1, seguindo sempre para baixo até chegar à posição 3 7. A imagem seguinte ilustra esta situação, sendo que as posições sublinhadas a amarelo ilustram o percurso do Nuno.
Visto que os charcos influenciam muito a corrida do Nuno, é muito importante para ele saber o comprimento total de charcos que ele vai percorrer para uma possível posição inicial. Para o exemplo acima o Nuno percorreu um total de 3 unidades de comprimento de charcos (uma do segundo retângulo e duas do terceiro).
O Nuno tem Q possíveis posições iniciais para começar a sua corrida, mas antes de escolher qual a que prefere, ele precisa de saber para cada uma delas qual o comprimento total de charcos que teria de percorrer se começar daí.
Dado um conjunto de N charcos e Q posições iniciais onde o Nuno pode iniciar a sua corrida, determinar para cada posição inicial o comprimento total dos charcos que o Nuno tem de atravessar se iniciar a sua corrida daí.
Na primeira linha vêm dois inteiros, N que representa o número de charcos e Q que representa o número de posições iniciais possíveis.
Seguem-se N linhas, cada uma com 4 inteiros no formato x1 y1 x2 y2, em que x1 y1 são as coordenadas do ponto superior esquerdo e x2 y2 do inferior direito, cada um representando o retângulo de um charco.
Seguem-se Q linhas, cada uma um inteiro, a coordenada x de cada posição inicial possível.
O output contém Q inteiros, o comprimento total para cada posição inicial, pela ordem dada no input.
São garantidos os seguintes limites em todos os casos de teste que irão ser colocados ao programa:
1 ≤ N ≤ 100 000 | Número de charcos | |
1 ≤ Q ≤ 100 000 | Número de posições possíveis | 1 ≤ x, y ≤ 1 000 000 000 | Coordenadas dos pontos dos charcos e das posições possíveis |
Os casos de teste deste problema estão organizados em 4 grupos com restrições adicionais diferentes:
Grupo | Número de Pontos | Restrições adicionais |
---|---|---|
1 | 20 | 1 ≤ N ≤ 100, 1 ≤ Q ≤ 100, 1 ≤ x, y ≤ 200 |
2 | 30 | 1 ≤ N ≤ 100, 1 ≤ Q ≤ 100 |
3 | 30 | 1 ≤ N ≤ 20 000, 1 ≤ y ≤ 500 |
4 | 20 | - |
3 4 1 1 2 2 3 2 6 3 2 4 5 6 2 3 5 6
2 3 1 0
Este exemplo corresponde ao mencionado no enunciado.
7 7 1 1 11 3 13 3 14 5 2 5 12 7 7 15 15 16 5 16 15 17 11 17 11 18 4 18 11 19 18 17 13 6 14 15 2
0 0 4 6 2 0 4