XXVI Olimpíada Brasileira de Informática
Submeta sua solução

Nome do arquivo: lanche.x, onde x deve ser c, cpp, java, js ou py

Lanche na empresa

Atualmente, uma empresa precisa oferecer mais que altos salários para manter seus melhores funcionários. Um dos benefícios comumente oferecidos é acesso a um suprimento infinito de comida e bebida disponível em cozinhas, onde os funcionários podem preparar lanches e refeições.

Uma empresa de tecnologia decidiu posicionar uma cozinha em suas instalações; entretanto, essa tarefa requer um certo planejamento. Analisando a planta do prédio é possível criar um diagrama contendo todas as salas, todos os corredores que as ligam e os seus respectivos comprimentos, em metros. A cozinha deve ser posicionada em uma das salas de tal forma que a distância entre a cozinha e a sala mais distante da cozinha seja a menor possível.

Obviamente, a empresa deseja utilizar esse fato para anunciar que "nenhum de seus funcionários está a mais de X metros de uma cozinha". Eles contrataram o seu escritório de arquitetura para posicionar a cozinha na sala que minimiza X e você, como programador, deve escrever um programa que informa qual será essa distância.

Entrada

A entrada contém um único conjunto de testes, que deve ser lido do dispositivo de entrada padrão (normalmente o teclado). A primeira linha da entrada contém dois inteiros, S e C, (1 ≤ S ≤ 250, 1 ≤ C ≤ 50.000) indicando, respectivamente, o número de salas e o número de corredores. As C linhas seguintes contêm, cada uma, três inteiros, A, B e D (1 ≤ AN , 1 ≤ BN , 1 ≤ D ≤ 100, AB) indicando que existe um corredor de D metros ligando a sala A à sala B. Cada corredor é informado uma única vez na entrada. Note que um corredor ligando as salas A e B pode ser percorrido nos dois sentidos (da sala A para a sala B e da sala B para a sala A).

Saída

Seu programa deve imprimir, na saída padrão, uma única linha, contendo um inteiro indicando a distância entre a cozinha e a sala mais distante, considerando que a cozinha foi posicionada na sala onde essa distância é mínima.

Exemplos

Entrada
4 6
1 2 1
2 3 1
2 4 2
3 4 1
1 4 1
3 1 4
			
Saída
2
			
Entrada
4 4
1 2 10
2 3 1
3 4 4
2 4 3
			
Saída
10
			
Entrada
5 6
1 2 10
2 3 10
2 4 11
2 5 11
3 4 10
4 5 10
			
Saída
11
			
Tarefas Programação Nível 2
Promoção:
sbc
Patrocínio
 
Apoio
 
Coordenação