n, m = map(int, input().split()) edges = [[] for _ in range(n)] for _ in range(m): a, b, c = map(int, input().split()) edges[b].append((a, c)) p = [0.0] * n p[0] = 1.0 epsilon = 1e-9 max_iter = 100000 for _ in range(max_iter): p_new = [0.0] * n p_new[0] = 1.0 for j in range(1, n): product = 1.0 for (a, c) in edges[j]: term = 1.0 - p[a] * (c / 100.0) product *= term p_new[j] = 1.0 - product max_diff = 0.0 for j in range(n): diff = abs(p[j] - p_new[j]) if diff > max_diff: max_diff = diff if max_diff < epsilon: p = p_new break else: p = p_new.copy() print("{0:.10f}".format(p[n-1]))