loj#P6852. 「ICPC World Finals 2021」晶体侧风

「ICPC World Finals 2021」晶体侧风

Description

You are part of a scientific team developing a new technique to image crystal structures at the molecular level. The technique involves blowing a very fine wind over the surface of the crystal at various angles to detect boundaries (indicated by molecules that are exposed to the wind). This is repeated with different wind directions and the boundaries observed for each direction are recorded. Your team has already collected the data, but – as is often the case with applied science – now the real work, analysis, must begin.

For a given crystal, you will receive the directions in which wind blew over the surface, and the locations of all boundaries encountered by each of these winds. For a wind blowing in direction (wx,wy)(w_x, w_y), a boundary is defined as a location (x,y)(x, y) such that a molecule exists at (x,y)(x, y) and no molecule exists at (xwx,ywy)(x - w_x, y - w_y). Note that for technical reasons wxw_x and wyw_y are not necessarily relatively prime.

The data might not uniquely determine the structure of the crystal. You must find the two unique structures with the minimal and maximal number of molecules consistent with the observations.

For example, in the first sample input, nine different molecules are directly encountered by the given winds. There must be a molecule at location (3,3)(3, 3) because otherwise (4,2)(4, 2) would be a boundary for the third wind. For similar reasons, there must be molecules at (4,4)(4, 4) and (5,5)(5, 5). There cannot be any further molecules as they would result in additional observations for some of the winds.

Input

The first line of input contains three integers dxd_x, dyd_y, and kk, where dxd_x and dyd_y (1dx,dy1031 \le d_x, d_y \le 10^3) are the maximum dimensions of the crystal structure, and kk (1k101 \le k \le 10) is the number of times wind was blown over the crystal.

Each of the remaining kk lines specifies the data for one wind. These lines each start with two integers wxw_x and wyw_y (dxwxdx-d_x \le w_x \le d_x and dywydy-d_y \le w_y \le d_y, but not both zero) denoting the direction of the wind. Then comes an integer bb (0b1050 \le b \le 10^5) giving the number of boundaries encountered by this wind. The line finishes with b distinct pairs of integers x,yx, y (1xdx1 \le x \le d_x and 1ydy1 \le y \le d_y) listing each observed boundary.

You may assume the input is consistent with at least one crystal and that no molecules exist outside the specified dimensions.

Output

Output two textual representations of the crystal structure separated by an empty line. Each structure has dyd_y rows of dxd_x characters, with the top-left corner corresponding to location (1,1)(1, 1). The first is the structure with the minimal number of molecules consistent with the observations, the second is the maximal one. Use # for a location where a molecule exists and . for a location where no molecule exists.

6 6 3
1 1 3 3 1 1 3 2 2
0 2 6 3 1 1 3 2 2 6 4 5 3 4 2
1 -1 4 1 3 2 4 3 5 4 6

..#...
.#.#..
#.#.#.
.#.#.#
..#.#.
...#..

..#...
.#.#..
#.#.#.
.#.#.#
..#.#.
...#..

5 4 2
1 0 6 1 1 4 1 2 2 5 2 2 3 3 4
0 -1 7 1 1 4 1 5 2 2 3 3 4 4 4 5 4

#..#.
.#..#
.#...
..###

##.##
.##.#
.###.
..###