#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define REP(i,s,n) for(int i=(int)(s);i<(int)(n);i++) using namespace std; typedef long long int ll; typedef vector VI; typedef vector VL; typedef pair PI; const ll mod = 1e9 + 7; typedef pair PDI; const int N = 30; vector edges[N]; double dp[N]; double rec(int v) { if (dp[v] >= 0) { return dp[v]; } if (v == 0) { return 1; } double prod = 1.0; for (auto &w: edges[v]) { prod *= 1 - rec(w.second) * w.first; } return dp[v] = 1 - prod; } int main(void){ int n, m; cin >> n >> m; REP(i, 0, m) { int a, b; double c; cin >> a >> b >> c; c /= 100; edges[b].push_back(PDI(c, a)); } REP(i, 0, n) { dp[i] = -1; } printf("%.15f\n", rec(n - 1)); }