You are given an grid with
blocked squares and the others open. From an open square, you may move to any other open square that shares an edge with your current square. For
queries of
integers
, please determine whether there is a path from
to
.
Constraints
For all subtasks:
Each given blocked square is unique, and for all queries the squares and
will not be blocked.
Subtask 1 [20%]
Subtask 2 [80%]
No additional constraints.
Input Specification
The first line will contain integers
,
,
, and
.
The next lines will each contain
integers
and
, representing that square
is blocked.
The following lines will each contain
integers
, representing a query from
to
.
Output Specification
For each query, output one line containing YES
if it is possible to reach from
, or
NO
otherwise.
Sample Input 1
5 5 11 1
2 2
4 2
3 2
2 3
5 2
3 1
1 5
3 5
2 5
4 5
4 4
1 1 5 5
Sample Output 1
YES
Explanation for Sample 1
The following is a diagram for the grid given in Sample 1 (.
marks open squares, while #
marks blocked squares):
....#
.##.#
##..#
.#.##
.#...
It can be shown that there is a path from to
in the grid above.
Sample Input 2
5 5 9 3
5 1
1 2
1 5
3 2
2 3
5 3
3 3
3 5
4 4
1 1 5 5
2 1 4 3
2 5 2 5
Sample Output 2
NO
YES
YES
Explanation for Sample 2
The following is a diagram for the grid given in Sample 2 (.
marks open squares, while #
marks blocked squares):
.#..#
..#..
.##.#
...#.
#.#..
Comments
What is the intended solution for this problem? I need hints.