술 취한 산책

아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

저녁에 술을 조금 과하게 마신 당신은 방향 그래프 위에서 긴 산책을 나섭니다. 다만 그래프에는 사이클이 없으므로 산책이 끝없이 이어지지는 않습니다.

당신은 정점 00에서 출발합니다. 어떤 정점에 있을 때마다, 그 정점에서 나가는 간선 중 하나를 따라 정점을 떠납니다. 이때 각 나가는 간선은 그 간선의 가중치에 비례하는 확률로 무작위로 선택됩니다. 나가는 간선이 하나도 없는 정점에 도착하면 그 자리에서 잠들고, 산책이 끝납니다. 산책의 길이는 당신이 지나간 간선의 개수입니다.

출발하기 전에(즉, 정점 00을 떠나기 전에) 그래프 어디에 있는 간선이든 마음에 들지 않는 간선 하나를 골라 산책 내내 무시할 수 있습니다. 아무 간선도 무시하지 않아도 됩니다. 간선을 무시하는 것은 그 간선을 그래프에서 제거하는 것과 같으므로, 유일한 나가는 간선을 무시당한 정점은 잠드는 정점이 됩니다.

산책 길이의 기댓값을 가능한 한 크게 만들 때, 그 최댓값을 구하세요.

입력

입력은 여러 개의 테스트 케이스로 이루어집니다. 각 테스트 케이스의 첫 줄에는 두 정수 NNMM (2N10,0002 \le N \le 10{,}000, 1M100,0001 \le M \le 100{,}000)이 주어지며, 각각 그래프의 정점 수와 간선 수입니다. 이어지는 MM개의 줄에는 각각 세 정수 uu, vv, ww (1w1,0001 \le w \le 1{,}000)가 주어지며, 이는 정점 uu에서 정점 vv로 가는 가중치 ww의 방향 간선이 있음을 뜻합니다(정점은 00부터 N1N-1까지 번호가 매겨집니다). 그래프에는 방향 사이클이 없음이 보장됩니다. 입력의 마지막 줄에는 N=M=0N = M = 0이 주어지며, 이 줄은 처리하지 않습니다.

출력

각 테스트 케이스마다, 산책 길이의 기댓값의 최댓값을 소수점 아래 정확히 88자리까지 반올림하여 한 줄에 출력하세요.