#include<bits/stdc++.h>
using namespace std;
int main()
{
int n, e;
cin>>n>>e;
int graph[n+1][n+1];
memset(graph, 0, sizeof(graph));
int u, v, w;
for(int i = 1; i <= e; i++)
{
cin>>u>>v>>w;
graph[u][v] = w;
graph[v][u] = w;
}
for(int i = 1; i <= n; i++)
{
for(int j = 1; j <= n; j++)
{
cout<<graph[i][j]<<" ";
}
cout<<endl;
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCgppbnQgbWFpbigpCnsKICAgIGludCBuLCBlOwogICAgY2luPj5uPj5lOwogICAgaW50IGdyYXBoW24rMV1bbisxXTsKICAgIG1lbXNldChncmFwaCwgMCwgc2l6ZW9mKGdyYXBoKSk7CiAgICBpbnQgdSwgdiwgdzsKICAgIGZvcihpbnQgaSA9IDE7IGkgPD0gZTsgaSsrKQogICAgewogICAgICAgIGNpbj4+dT4+dj4+dzsKICAgICAgICBncmFwaFt1XVt2XSA9IHc7CiAgICAgICAgZ3JhcGhbdl1bdV0gPSB3OwogICAgfQogICAgZm9yKGludCBpID0gMTsgaSA8PSBuOyBpKyspCiAgICB7CiAgICAgICAgZm9yKGludCBqID0gMTsgaiA8PSBuOyBqKyspCiAgICAgICAgewogICAgICAgICAgICBjb3V0PDxncmFwaFtpXVtqXTw8IiAiOwogICAgICAgIH0KICAgICAgICBjb3V0PDxlbmRsOwogICAgfQp9Cg==
NSA2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAyIDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMiAzIDYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMyA0IDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNCA1IDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNSAxIDcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMiA0IDgg
5 6 1 2 3 2 3 6 3 4 2 4 5 1 5 1 7 2 4 8