Problems
Milling machines
Milling machines
A fab lab is an open, small-scale workshop where you can create or fabricate almost anything you want mostly by using computer controlled tools like a laser cutter or a 3D printer. The FAU fab lab recently got a CNC milling machine. Using the milling machine you can cut or remove material with different tools from the surface of a workpiece. It is controlled via a computer program.
I sometimes wondered what happens if multiple different shaped workpieces are sent through the same milling program. For simplification assume that we have only two dimensional workpieces without holes. A milling program consists of multiple steps; each step describes where the milling machine has to remove material (using different tools) from the top of the surface.
\InputFile
The first line consists of two integers $w$ and $s~(1 \le w, s \le 10^4)$, where $w$ gives the number of workpieces and $s$ the number of steps in the milling program. The next line consists of two integers $x$ and $y~(1 \le x, y \le 100)$, where $x$ gives the width and $y$ gives the maximal possible height of workpieces.
Then follow $w$ lines, each describing one workpiece. Each workpiece description consists of $x$ non-negative integers specifying the surface height in that column.
Then follow $s$ lines, each describing one milling step of the milling program. Each milling step description consists of $x$ non-negative integers $s_i~(0 \le s_i \le y)$ specifying the amount of surface to cut off in each column (relative to the height of the milling area, i.e. $y$, not relative to the top of the workpiece). See Figure for details.
\OutputFile
For each workpiece, output one line containing $x$ integers specifying the remaining surface heights (in the same order as in the input).
\Examples
Second workpiece in first sample: initial workpiece followed by milling in each column --- the value in the milling program determines the vertical position of the cutter head.
\includegraphics{https://static.e-olymp.com/content/66/6602279b4e46f84544671c155c6c143a55dff59b.gif}
Input example #1
2 1 3 4 4 4 4 4 2 3 2 3 0
Output example #1
2 1 4 2 1 3
Input example #2
1 3 10 100 11 22 33 44 55 66 77 88 99 100 1 100 1 100 1 100 1 100 1 100 58 58 58 58 58 58 58 58 58 58 42 42 42 42 42 42 42 42 66 42
Output example #2
11 0 33 0 42 0 42 0 34 0