let () = let n, m = stdin.ReadLine().Split() |> fun arr -> (int arr.[0], int arr.[1]) let opBarr = stdin.ReadLine().Split() let op = match opBarr.[0] with | "+" -> ( + ) | "*" -> ( * ) | _ -> failwith "illegal op" let bArr = opBarr.[1..] |> Array.map int64 let aArr = seq { for i in 1..n -> stdin.ReadLine() |> int64 } |> Seq.toArray seq { for i in 1..n -> seq { for j in 1..m -> op aArr.[i - 1] bArr.[j - 1] |> string } |> String.concat " " } |> Seq.iter (printfn "%s")