흐름을 따라서

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

문제

세상은 정점 N+1N+1개로 이루어져 있고, 각 정점에는 00번부터 NN번까지 번호가 붙어 있다. 정점 사이에는 간선이 놓여 있는데, 모든 간선은 일방통행이고 간선마다 지나가는 데 걸리는 시간이 다르다. 동현이는 지금 00번 정점에 있고, NN번 정점이 동현이의 집이다.

동현이는 집에 도착하기 전까지 마음이 가는 대로 세상을 떠돈다. 마음이 가는 대로 움직인다는 것은 현재 정점에서 나가는 간선을 모두 같은 확률로 하나 고른 뒤 그 간선을 따라 다음 정점으로 간다는 뜻이다. 같은 두 정점을 잇는 간선이 여러 개 있으면 각각을 서로 다른 간선으로 센다. 자기 자신으로 돌아오는 간선도 있을 수 있다. NN번 정점에 도착하면 그 자리에서 멈춘다.

00번 정점에서 출발해 집에 도착할 때까지 걸리는 시간의 기댓값을 구하라.

예를 들어 세상이 아래 그림과 같다고 하자.

00번 정점에서 동현이는 각각 1/21/2 확률로 시간 11을 써서 11번 정점으로 가거나, 시간 11을 써서 22번 정점으로 가 집에 도착한다. 11번 정점에서도 각각 1/21/2 확률로 시간 22를 써서 00번 정점으로 돌아오거나, 시간 22를 써서 집에 도착한다. 이 경우 답은 아래와 같다.

12×1+(12)2×(1+2)+(12)3×(1+2+1)+=83\frac{1}{2}\times 1+\left(\frac{1}{2}\right)^{2}\times(1+2)+\left(\frac{1}{2}\right)^{3}\times(1+2+1)+\cdots=\frac{8}{3}

입력

첫째 줄에 정점의 개수를 나타내는 NN (1N30)(1 \le N \le 30)과 간선의 개수 MM (1M1000)(1 \le M \le 1\,000)이 공백으로 구분되어 주어진다. 실제 정점 개수는 N+1N+1개임에 주의하라.

다음 MM개 줄에는 각 줄마다 xx, yy, tt (0x<N, 0yN, 1t50)(0 \le x < N,\ 0 \le y \le N,\ 1 \le t \le 50)가 공백으로 구분되어 주어진다. xx번 정점에서 yy번 정점으로 가는 간선이 있고 그 간선을 지나는 데 시간이 tt만큼 걸린다는 뜻이다. 모든 정점에서 NN번 정점으로 가는 경로가 존재하도록 간선이 주어진다. 따라서 00번부터 N1N-1번까지의 정점에는 나가는 간선이 적어도 하나 있다.

출력

00번 정점에서 출발해 집인 NN번 정점에 도착할 때까지 걸리는 시간의 기댓값을 소수점 아래 여섯째 자리까지 반올림해 한 줄에 출력한다. 값이 정수여도 소수점 아래 여섯 자리를 모두 적는다. 답은 10610^{6}을 넘지 않으며, 소수점 아래 여섯째 자리에서의 반올림이 애매해지는 입력은 주어지지 않는다.