#include <iostream>
#define INF 9999999
using namespace std;
int main()
{
int e[51][51],s,t,d,n,m;//n个城市,m条路
cin>>n>>m;
for(int i=1;i<=50;i++)
{
for(int j=1;j<=50;j++)
{
if(j!=i)
{
e[i][j]=INF;
}
else e[i][j]=0;
}
}
for(int i=1;i<=m;i++)
{
cin>>s>>t>>d;
e[t][s]=e[s][t]=d;
}
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
for(int k=1;k<=n;k++)
{
if(e[k][j]>e[k][i]+e[i][j])
e[k][j]=e[k][i]+e[i][j];
}
cout<<" ";
for(int i=1;i<=n;i++)
cout<<i<<" ";
cout<<endl<<1<<" ";
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
cout<<e[i][j]<<" ";
}
cout<<endl<<i+1<<" ";
}
return 0;
}