'use strict';
(function(stdin) {
	var lines  = stdin.toString().split('\n');
	var result = (function(params,data) {

		var A = creatVector(data,0,params[0]);
		var B = creatVector(data,params[0],params[0] + params[1]);

		var result = [];
		for(var i = 0; i < params[0]; i++) {
			var line = [];
			for(var j = 0; j < params[2]; j++) {
				var sum = 0;
				for(var k = 0; k < params[1]; k++) {
					sum += A[i][k] * B[k][j];
				}
				line.push(sum);
			}
			result.push(line.join(' '));
		}
		return result.join('\n');

		function creatVector(data,beginIndex,endIndex) {
			return data.slice(beginIndex,endIndex)
				.map(function(v) { 
					return v.split(' ').map(Number);
			});
		}

	}(
		lines.shift().split(' ').map(Number)
		,lines
		));

	console.log(result);
}(require('fs').readFileSync('/dev/stdin', 'utf8')));