// ===================================================================== ||
//                     Beispiel Name:  Matmult                           ||
//                     BeispielNr.:    1040                              ||
//                     Autor:          Sanel Krupic                      ||
//                     MatrikelNr.:    0325454                           ||
// ===================================================================== ||
import eprog.*;

public class Matmult extends EprogIO {
  public static void main (String [] args) throws EprogException {
    int n=0;
    boolean nichtfehler=true, leseFehler=false;

    try {
    	n=readInt ();  		// Zahl n (Dimension) einlesen
    }catch (Exception e) {
    	println("?");		//Fals Fehler auftritt, soll "?" ausgegeben werden
	nichtfehler=false;
    }

	if (nichtfehler)
	//Sind  die  Datentypen  bei  allen  Eingaben  richtig, die eingegebenen Daten aber inhaltlich nicht
	//korrekt oder erfuellen nicht  die  Bedingungen  (z.B. 0<n<8 ), so  gibt  das  Program "FALSCHE EINGABE" aus
    	if  ( n>=8 || n<=0 ) {
			 print ("FALSCHE EINGABE");
			 return;
	    }

		int [][] eingabematrix1 = new int[n][n];
		for (int i=0; i<n; i++)
			for (int k=0; k<n; k++)
				try {
					eingabematrix1[i][k] = readInt(); // Die Elemente der Matrix1 werden eingelesen
				} catch (EprogException e) {
					leseFehler=true;
				}

		int [][] eingabematrix2 = new int[n][n];
		for (int i=0; i<n; i++)
			for (int k=0; k<n; k++)
				try {
					eingabematrix2[i][k] = readInt();  // Die Elemente der Matrix2 werden eingelesen
				} catch (EprogException e) {
					leseFehler=true;
				}

		if (leseFehler) {
			 println("?");
			 return;
	    }

		int [][] ergebnismatrix = new int[n][n];
		for (int i=0; i<n; i++)
			for (int j=0; j<n; j++) {
				ergebnismatrix[i][j] = 0;
				for (int k=0; k<n; k++)
				    // matrix1 und matrix2 werden multipliziert
					ergebnismatrix[i][j] = ergebnismatrix[i][j] +
					eingabematrix1[i][k] * eingabematrix2[k][j];
			}

		for (int i=0; i<n; i++) {
			for (int k=0; k<n; k++) {
				print(ergebnismatrix[i][k] + " "); // Das Produkt der zwei multiplizierten Matrizen wird ausgegeben
			}
			println("");
		}
  }//End main
}//End class