#include <bits/stdc++.h>
using namespace std;
int n, m;
double I[105];
long long f[105][105], d[105][105];
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin >> n >> m;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
f[i][j] = 0x3f3f3f3f;
}
f[i][i] = 0;
}
for (int i = 1; i <= m; i++) {
int u, v;
double k;
cin >> u >> v >> k;
f[u][v] = k;
d[u][v]++;
d[v][u]++;
f[v][u] = 1;
}
for (int k = 1; k <= n; k++) {
for (int i = 1; i <= n; i++) {
if (i == k)
continue;
for (int j = 1; j <= n; j++) {
if (i == j || j == k)
continue;
if (f[i][j] > f[i][k] + f[k][j]) {
f[i][j] = f[i][k] + f[k][j];
d[i][j] = d[i][k] * d[k][j];
} else if (f[i][k] + f[k][j] == f[i][j]) {
d[i][j] += d[i][k] * d[k][j];
}
}
}
}
for (int k = 1; k <= n; k++) {
for (int i = 1; i <= n; i++) {
if (i == k)
continue;
for (int j = 1; j <= n; j++) {
if (i == j || j == k)
continue;
if (f[i][k] + f[k][j] == f[i][j]) {
I[k] += (d[i][k] * d[k][j] ) * 1.0 / d[i][j] * 1.0;
}
}
}
}
for (int i = 1; i <= n; i++) {
cout << fixed << setprecision(3) << I[i] << '\n';
}
return 0;
}