import Control.Monad
import Control.Applicative
import Data.List

matrixMul m1 m2 = map (\arow -> map (sum . zipWith (*) arow) (transpose m2)) m1

myPrint = mapM_ (putStrLn . unwords . map show)

main = do
    [n,m,l] <- map read . words <$> getLine :: IO [Int]
    m1 <- replicateM n $ map (read :: String->Int) . words <$> getLine :: IO [[Int]]
    m2 <- replicateM m $ map (read :: String->Int) . words <$> getLine :: IO [[Int]]
    myPrint $ matrixMul m1 m2