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

f [] _ = []
f (a:as) (bs) = map (zipWith (*) a) bs : f as bs

g a b = foldr (\x acc -> (map sum x) : acc) [] $ f a (transpose b)

main = do
    [n,m,l] <- map read . words <$> getLine
    a <- replicateM n $ map read . words <$> getLine
    b <- replicateM m $ map read . words <$> getLine
    mapM_ (putStrLn <$> unwords . map show) $ g a b
