저녁에 술을 조금 과하게 마신 당신은 방향 그래프 위에서 긴 산책을 나섭니다. 다만 그래프에는 사이클이 없으므로 산책이 끝없이 이어지지는 않습니다.
당신은 정점 0에서 출발합니다. 어떤 정점에 있을 때마다, 그 정점에서 나가는 간선 중 하나를 따라 정점을 떠납니다. 이때 각 나가는 간선은 그 간선의 가중치에 비례하는 확률로 무작위로 선택됩니다. 나가는 간선이 하나도 없는 정점에 도착하면 그 자리에서 잠들고, 산책이 끝납니다. 산책의 길이는 당신이 지나간 간선의 개수입니다.
출발하기 전에(즉, 정점 0을 떠나기 전에) 그래프 어디에 있는 간선이든 마음에 들지 않는 간선 하나를 골라 산책 내내 무시할 수 있습니다. 아무 간선도 무시하지 않아도 됩니다. 간선을 무시하는 것은 그 간선을 그래프에서 제거하는 것과 같으므로, 유일한 나가는 간선을 무시당한 정점은 잠드는 정점이 됩니다.
산책 길이의 기댓값을 가능한 한 크게 만들 때, 그 최댓값을 구하세요.
입력은 여러 개의 테스트 케이스로 이루어집니다. 각 테스트 케이스의 첫 줄에는 두 정수 N과 M (2≤N≤10,000, 1≤M≤100,000)이 주어지며, 각각 그래프의 정점 수와 간선 수입니다. 이어지는 M개의 줄에는 각각 세 정수 u, v, w (1≤w≤1,000)가 주어지며, 이는 정점 u에서 정점 v로 가는 가중치 w의 방향 간선이 있음을 뜻합니다(정점은 0부터 N−1까지 번호가 매겨집니다). 그래프에는 방향 사이클이 없음이 보장됩니다. 입력의 마지막 줄에는 N=M=0이 주어지며, 이 줄은 처리하지 않습니다.
각 테스트 케이스마다, 산책 길이의 기댓값의 최댓값을 소수점 아래 정확히 8자리까지 반올림하여 한 줄에 출력하세요.