#include <iostream>
using namespace std;

int main() {
	int n;
	cin >> n;
	int a[n][n];
	int b[n][n];
	int res[n][n];
	//обнуляем все массивы
	for(int i = 0; i < n; i++) {
		for (int j = 0; j < n; j++) {
			a[i][j] = 0;
			b[i][j] = 0;
			res[i][j] = 0;
		}
	}
	//ввод матрицы A
	for(int i = 0; i < n; i++) {
		for(int j = 0;  i + j < n; j++) {
			cin >> a[i][i+j];
		}
	}
	//ввод матрицы B
	for(int i = 0; i < n; i++) {
		for(int j = 0;  i + j < n; j++) {
			cin >> b[i][i+j];
		}
	}
	//перемножаем матрицы
	for(int i = 0; i < n; i++) {
		for(int j = 0; i + j < n; j++) {
			for(int k = 0; k < n; k ++) {
				res[i][i+j] += a[i][k]*b[k][i+j];
			}
		}
	}
	//выводим результат
	for(int i = 0; i < n; i++) {
			for(int j = 0;  j < n; j++) {
				cout << res[i][j] << "  ";
			}
			cout << endl;
		}
	return 0;
}
