Structured Program II - Matrix Multiplication

Time Limit : 1 sec, Memory Limit : 65536 KB

行列の積


$n \times m$ の行列 $A$ と $m \times l$ の行列 $B$ を入力し、それらの積である $n \times l$ の行列 $C$ を出力するプログラムを作成してください。行列 $C$ の各要素 $c_{ij}$ は次の式で得られます:

\[ c_{ij} = \sum_{k=1}^m a_{ik}b_{kj} \]

ここで、$A$、$B$、$C$ の各要素をそれぞれ $a_{ij}$、$b_{ij}$、$c_{ij}$ とします。

Input

1行目に $n$、$m$、$l$ が空白区切りで与えられます。

続く行に $n \times m$ の行列 $A$ と $m \times l$ の行列 $B$ が与えられます。

Output

$n \times l$ の行列 $C$ の要素 $c_{ij}$ を出力してください。各行の隣り合う要素を1つの空白で区切ってください。

Constraints

  • $1 \leq n, m, l \leq 100$
  • $0 \leq a_{ij}, b_{ij} \leq 10000$

Sample Input

3 2 3
1 2
0 3
4 5
1 2 1
0 3 2

Sample Output

1 8 5
0 9 6
4 23 14

Note

      解説