#include<bits/stdc++.h>
using namespace std;
int main()
{
int n, e;
cin>>n>>e;
long long int graph[n+1][n+1];
for(int i = 1; i <= n; i++)
{
for(int j = 1; j <= n; j++)
{
if(i == j)graph[i][j] = 0;
else graph[i][j] = INT_MAX;
}
}
int u, v, w;
for(int i = 1; i <= e; i++)
{
cin>>u>>v>>w;
graph[u][v] = w;
}
cout<<"A0"<<endl;
for(int p = 1; p <= n; p++)
{
for(int q = 1; q <= n; q++)
{
cout<<graph[p][q]<<" ";
}
cout<<endl;
}
for(int k = 1; k <= n; k++)
{
cout<<"A"<<k<<endl;
for(int i = 1; i <= n; i++)
{
for(int j = 1; j <= n; j++)
{
graph[i][j] = min(graph[i][j], graph[i][k]+graph[k][j]);
}
}
for(int p = 1; p <= n; p++)
{
for(int q = 1; q <= n; q++)
{
cout<<graph[p][q]<<" ";
}
cout<<endl;
}
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkKewogICAgaW50IG4sIGU7CiAgICBjaW4+Pm4+PmU7CiAgICBsb25nIGxvbmcgaW50IGdyYXBoW24rMV1bbisxXTsKICAgIGZvcihpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKQogICAgewogICAgICAgIGZvcihpbnQgaiA9IDE7IGogPD0gbjsgaisrKQogICAgICAgIHsKICAgICAgICAgICAgaWYoaSA9PSBqKWdyYXBoW2ldW2pdID0gMDsKICAgICAgICAgICAgZWxzZSBncmFwaFtpXVtqXSA9IElOVF9NQVg7CiAgICAgICAgfQogICAgfQogICAgaW50IHUsIHYsIHc7CiAgICBmb3IoaW50IGkgPSAxOyBpIDw9IGU7IGkrKykKICAgIHsKICAgICAgICBjaW4+PnU+PnY+Pnc7CiAgICAgICAgZ3JhcGhbdV1bdl0gPSB3OwogICAgfQogICAgY291dDw8IkEwIjw8ZW5kbDsKICAgIGZvcihpbnQgcCA9IDE7IHAgPD0gbjsgcCsrKQogICAgewogICAgICAgIGZvcihpbnQgcSA9IDE7IHEgPD0gbjsgcSsrKQogICAgICAgIHsKICAgICAgICAgICAgY291dDw8Z3JhcGhbcF1bcV08PCIgIjsKICAgICAgICB9CiAgICAgICAgY291dDw8ZW5kbDsKICAgIH0KCgogICAgZm9yKGludCBrID0gMTsgayA8PSBuOyBrKyspCiAgICB7CiAgICAgICAgY291dDw8IkEiPDxrPDxlbmRsOwogICAgICAgIGZvcihpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKQogICAgICAgIHsKICAgICAgICAgICAgZm9yKGludCBqID0gMTsgaiA8PSBuOyBqKyspCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGdyYXBoW2ldW2pdID0gbWluKGdyYXBoW2ldW2pdLCBncmFwaFtpXVtrXStncmFwaFtrXVtqXSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZm9yKGludCBwID0gMTsgcCA8PSBuOyBwKyspCiAgICAgICAgewogICAgICAgICAgICBmb3IoaW50IHEgPSAxOyBxIDw9IG47IHErKykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgY291dDw8Z3JhcGhbcF1bcV08PCIgIjsKICAgICAgICAgICAgfQogICAgICAgICAgICBjb3V0PDxlbmRsOwogICAgICAgIH0KCiAgICB9CgoKCgoKCgp9Cg==
NCA3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAyIDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMiAxIDggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMiAzIDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMyAxIDUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMyA0IDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSA0IDcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNCAxIDIg
4 7 1 2 3 2 1 8 2 3 2 3 1 5 3 4 1 1 4 7 4 1 2