n, m, l = gets.split.map(&:to_i)

vec_a = n.times.map { gets.split.map(&:to_i) }
vec_b = m.times.map { gets.split.map(&:to_i) }
vec_c = Array.new(n) { Array.new(l, 0) }

n.times do |i|
  l.times do |j|
    m.times do |k|
      vec_c[i][j] += vec_a[i][k] * vec_b[k][j]
    end
  end
end

vec_c.each do |v|
  puts v.join(' ')
end

