Problema A - Caça ao Tesouro

O tesouro milenar de Bagas da Colina está depositado ao longo de N quilómetros. Escavá-lo ao longo do quilómetro i do depósito levaria a um lucro de Li (ou prejuízo, se Li < 0). No entanto, estes valores não são conhecidos.

O capitão Joaquim Pardal, ex-pirata e atual caçador de tesouros, está muito interessado neste tesouro. Como tal, realizou M prospeções do solo na região, obtendo de cada uma delas informação do tipo "Ao escavar o segmento entre os quilómetros A e B, o lucro total obtido é menor/maior ou igual que X", ou seja, sabemos que o lucro ou é maior ou igual que um certo valor X ou que é menor ou igual que X.

O capitão não tem os meios para escavar o tesouro sozinho e, como tal, quer pedir um empréstimo à Organização Nacional de Investimentos. Para os convencer, ele vai mostrar-lhes as M prospeções e a estimativa de lucro mais otimista: o lucro máximo de escavar todo o depósito que é coerente com as prospeções realizadas. Consegues ajudar o capitão Joaquim Pardal a encontrar este valor? Nota que é possível que o valor seja infinito ou que não exista nenhum depósito que respeite as M prospeções

Vejamos um exemplo. Seja N = 4 e M = 3 com as seguintes regras:

Um conjunto de lucros que satisfaz esta restrição é L = 3 2 0 1, e a soma de todos os elementos é 6, logo a resposta seria 6.

Um outro exemplo, seja N = 5 e M = 2 com as seguintes regras:

Um conjunto de lucros que satisfaz esta restrição é L = 1 1 0 1 1, e a soma de todos os elementos é 4, logo a resposta seria 4.

Se não tivessemos a última regra neste último exemplo então a resposta seria indeterminada (ou seja, podemos ter um lucro infinitamente grande), visto que podiamos ter INF 2 -INF 2 INF como resposta, onde INF representa um número arbitrariamente grande.

O Problema

Dados inteiros N e M, considera uma lista desconhecida de N inteiros. São dadas M regras do tipo (S, A, B, X) que transmitem a informação que a soma dos valores da lista entre o A-ésimo e o B-ésimo da lista é menor ou igual (se S for 1) ou maior ou igual (se S for 2) do que X. Descobre o maior valor possível (coerente com as regras) para a soma dos N elementos da lista.

É possível que o valor seja infinito ou que não haja nenhuma lista que respeite as M regras. Se algum destes casos acontecer, deves respetivamente imprimir Indeterminado ou Impossivel.

Input

Nota: Este problema é multiteste, o que significa que o vosso programa deve ler e resolver vários casos de teste de uma vez.

A primeira linha contém um inteiro T, o número de casos de teste. Seguem se T blocos de input cada um com o seguinte formato:

A primeira linha contém dois inteiros separados por espaços, N, que representa o comprimento da região e M, o número de regras. Seguem-se M linhas cada uma tem o seguintes formato:

Output

O output deve conter T linhas, uma por cada caso de teste.

Nos casos em que existe solução, a linha deve conter um inteiro. Nos casos em que é impossível então devem conter a palavra Impossivel e nos casos em que o máximo é infinito deve conter a palavra Indeterminado.

Restrições

São garantidos os seguintes limites em todos os casos de teste que irão ser colocados ao programa:

1 ≤ T ≤ 10 Número de casos de teste
1 ≤ N ≤ 2000 Comprimento
1 ≤ M ≤ 2000 Número de regras

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 N ≤ 20, M ≤ 100, a solução tem todos os elementos a 0 / 1 e existe sempre
2 25 N ≤ 200, M ≤ 400 e sempre que existir uma restrição (1, A, B, X) também existe (2, A, B, -X) e vice-versa.
3 25 N ≤ 200, M ≤ 400
4 30 -

Input do Exemplo 1

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

Output do Exemplo 1

6
4
Indeterminado

Prova de Seleção para as IOI'2021
Prova Online
(3 de Junho de 2021)