큐브 나라는 도시 N개와 양방향 도로 N−1개로 이루어져 있다. 서로 다른 두 도시 사이에는 이동 경로가 항상 존재하므로 도로망은 트리이다. 도시에는 1번부터 N번까지, 도로에는 1번부터 N−1번까지 번호가 붙어 있고, i번 도로의 길이는 li이다.
큐브 나라의 통치자가 축제를 연다. 도로 N−1개 중에서 M개를 골라 고른 도로마다 자동차 퍼레이드나 체육 대회 같은 행사를 하나씩 연다. 교통이 마비된다는 교통부의 항의를 받아들여 통치자는 혼란을 줄이기로 했다. 도로 M개를 고르는 모든 방법 중에서, 고른 도로만 지나는 단순 경로의 길이 최댓값이 가장 작아지는 방법을 고른다. 경로의 길이는 그 경로에 있는 도로의 길이를 모두 더한 값이고, 도시 한 곳에 머무는 경로의 길이는 0이다.
각 테스트 케이스마다 이렇게 최소화한 최댓값을 구하라.
첫째 줄에 테스트 케이스의 수 T (1≤T≤100)가 주어진다.
각 테스트 케이스의 첫째 줄에 정수 N과 M (2≤N≤2000, 1≤M≤N−1)이 공백으로 구분되어 주어진다. N은 도시의 수, M은 골라야 하는 도로의 수이다. 이어지는 N−1개의 줄에 도로 정보가 주어진다. 그중 i번째 줄에는 정수 ai, bi, li (1≤ai,bi≤N, ai=bi, 1≤li≤106)가 공백으로 구분되어 주어지며, i번 도로가 도시 ai와 도시 bi를 잇고 그 길이가 li라는 뜻이다.
모든 테스트 케이스의 N을 더한 값은 2000을 넘지 않는다.
각 테스트 케이스마다 고른 도로만 지나는 단순 경로의 길이 최댓값을 최소로 만들었을 때 그 값을 한 줄에 출력한다.
단순 경로는 같은 도시를 두 번 지나지 않는 경로이다. 즉 서로 다른 도시의 수열 c1,c2,…,cl이며, 1≤i≤l−1인 모든 i에 대해 도시 ci와 도시 ci+1을 잇는 도로가 있어야 한다. 이 문제에서는 그 도로가 모두 고른 도로여야 한다.