/**
 * Author: Sergey Kopeliovich (Burunduk30@gmail.com)
 */

#include <cstdio>
#include <cassert>
#include <iostream>

using namespace std;

#define forn(i, n) for (int i = 0; i < (int)(n); i++)

int main() {
  #define NAME "easymul"
  assert(freopen(NAME ".in", "r", stdin));
  assert(freopen(NAME ".out", "w", stdout));

  int n, m, k;
  cin >> n >> m >> k;
  int a[n][m], b[m][k];
  forn(i, n)
    forn(j, m)
      cin >> a[i][j];
  forn(i, m)
    forn(j, k)
      cin >> b[i][j];
  forn(i, n)
    forn(j, k) {
      int c = 0;
      forn(t, m) 
        c += a[i][t] * b[t][j];
      cout << c << " \n"[j == k - 1];
    }
  return 0;
}