#include<bits/stdc++.h>
using namespace std;
long long m,n,a[35],f[110][110];
double ans[110],sum[110][110];
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
f[i][j]=1e13+2778;
}
f[i][i]=0;
}
for(int i=1;i<=m;i++){
int a,b,c;cin>>a>>b>>c;
f[a][b]=f[b][a]=c;
sum[a][b]=sum[a][b]=1;
}
for(int k=1;k<=n;k++){
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(i==j)continue;
if(f[i][j]>f[i][k]+f[k][j]){
f[i][j]=f[i][k]+f[k][j];
sum[i][j]=sum[i][k]*sum[k][j];
}
else if(f[i][j]==f[i][k]+f[k][j]){
sum[i][j]+=sum[i][k]*sum[k][j];
}
}
}
}
for(int num=1;num<=n;num++){
for(int s=1;s<=n;s++){
for(int v=1;v<=n;v++){
if(num==s||num==v||s==v||sum[s][v]==0)continue;
if(f[s][v]==f[s][num]+f[num][v])
ans[num]+=(sum[s][num]*sum[num][v])/sum[s][v];
}
}
}
for(int i=1;i<=n;i++)printf("%.3lf\n",ans[i]);
return 0;
}
/*#include<bits/stdc++.h>
using namespace std;
const long long INF = 1e18;
long long n, m;
long long f[155][155];
double sum[155][155];
double ans[155];
int main() {
cin >> n >> m;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
f[i][j] = INF;
sum[i][j] = 0;
}
}
for (int i = 1; i <= n; i++) {
f[i][i] = 0;
}
for (int i = 1; i <= m; i++) {
long long a, b, c;
cin >> a >> b >> c;
f[a][b] = min(f[a][b], c);
f[b][a] = min(f[b][a], c);
sum[a][b] = 1;
sum[b][a] = 1;
}
for (int k = 1; k <= n; k++) {
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
if (i == j) continue;
if (f[i][k] + f[k][j] < f[i][j]) {
f[i][j] = f[i][k] + f[k][j];
sum[i][j] = sum[i][k] * sum[k][j];
} else if (f[i][k] + f[k][j] == f[i][j]) {
sum[i][j] += sum[i][k] * sum[k][j];
}
}
}
}
for (int v = 1; v <= n; v++) {
ans[v] = 0.0;
for (int s = 1; s <= n; s++) {
for (int t = 1; t <= n; t++) {
if (s == v || t == v || s == t) continue;
if (f[s][t] == f[s][v] + f[v][t]) {
if (sum[s][t] != 0) {
ans[v] += (sum[s][v] * sum[v][t]) / sum[s][t];
}
}
}
}
}
for (int i = 1; i <= n; i++) {
printf("%.3lf\n", ans[i]);
}
return 0;
}
*/