Floyd - 1#974

Floyd - 1

1 secondo
128 megabyte
Facile

È dato un grafo pesato orientato completo tramite la sua matrice di adiacenza. Costruire la matrice delle distanze minime tra tutte le coppie di suoi vertici. È garantito che il grafo non contenga cicli di peso negativo.

Input

La prima riga contiene il numero di vertici n~(1 \le n \le 100) nel grafo. Ciascuna delle successive righe contiene numeri interi che descrivono la matrice di adiacenza del grafo: il -esimo numero nella -esima riga è il peso dell'arco dal vertice al vertice . Il valore assoluto di ciascun numero non supera . Gli elementi diagonali della matrice sono sempre uguali a zero.

Output

Stampare righe con numeri interi ciascuna — la matrice delle distanze minime tra tutte le coppie di vertici. Il -esimo numero nella -esima riga deve essere uguale alla lunghezza del cammino minimo dal vertice al vertice .

Esempi

Esempio 1

Loading
Loading