Byang has invented a game he wants to play with his soulmate Byangette during their spare time.
The rules are simple. You are given an infinite 2D grid, an initial position on the grid (, ), a list of other distinct cells of the form (, ), and a list of moves of the form (, ).
There are P coins: one in each of the given cells (let's call them 'coin cells'). You have to collect all of them in the order they were given to win the game. (, ) represents the -th column of the -th row and this is where the game begins. If you are at the -th cell and you make the move #i [which is represented by ], your next position will be .
You can use only one of the given moves to go from a coin cell (or, the first cell) to the next coin cell and you can use that move as many time as you want to reach the coin cell. You can change the move you are using once you get to that next coin cell. You can use the same move multiple times in order to reach different coin cells. (Look at the sample cases for a detailed explanation.)
Byang does not want to disappoint Byangette. So he wants to check whether Byangette can collect all the coins while conforming to all the rules mentioned above. As his dear friend and a good programmer, you are here to help him get the job done.
The first line of input will have 4 integers: (), (), , .
The next lines will contain the locations of the coin cells. Each of the lines will have 2 integers: , . (, , )
The following lines will contain the list of moves one can make during the game. Each of the lines will contain 2 integers: , . (, , )
It is guaranteed that the starting cell and the coin cells are all distinct.
The first and only line of output will contain the word “Yes” (without the quotation marks) if you can collect all the coins while conforming to the game rules, or “No” (without the quotation marks) otherwise.
Input | Output |
---|---|
1 2 0 0 3 3 5 4 -2 -1 | No |
You cannot get to cell (3,3) from cell (0,0) using only one of the given moves. Notice that it would have been possible if you were allowed to use multiple type of moves from the move list. Thus, the answer is “No”. |