For the purposes of this problem, a racetrack can be represented as a non-intersecting (possibly concave) polygon.


In a racetrack, corners are split into three categories:
- Slow speed corners (either the corresponding interior or exterior angle is equal to exactly .
- Medium speed corners (either the corresponding interior or exterior angle is equal to exactly .
- High speed corners (either the corresponding interior or exterior angle is equal to exactly .

For example, this racetrack has slow speed corners (red), medium speed corner (yellow) and high speed corners (green).
Task
You are given three integers , and . Print any semiaxis-aligned polygon corresponding to a racetrack which has exactly slow speed corners, medium speed corners and high speed corners (and no other types of corners). If no such polygon exists, print NO instead.
In this problem, a polygon is called semiaxis-aligned if every one of its edges is parallel to at least one of the following lines:
- (the Ox axis)
- (the Oy axis)
Input data
This problem has exactly one test, which contains multiple test cases. For additional information, please check the restrictions section of this statement.
The first line of input containts a single integer - the number of test cases.
The first (and only) line of each test case contains three integers , and - the number of slow speed, medium speed, and high speed corners, respectively.
Output data
For each test case, if there is no polygon satisfying all of the constraints, print NO.
Otherwise, print YES, followed by the coordinates of the vertices of any polygon which satisfies the given constraints. Note that the absolute value of the coordinates must be at most .
Constraints and clarifications
- This problem has exactly one test, which has . Each test case is scored independently and is worth points. Note that if the output format is incorrect, the score for your submission will be points.
- The output format is considered incorrect if, for example, the coordinates of the polygons' vertices exceed by absolute value, the number of vertices is incorrect, or if the first line of a testcase is neither nor .
- Outputting for a test case where an answer exists or outputting an incorrect polygon with the correct number of vertices will not be considered as invalid format.
- For all test cases, ,
| # | Score | Constraints |
|---|---|---|
| 1 | 100 | No additional restrictions. |
Example
stdin
6
6 4 5
4 0 0
2 2 2
2 1 0
1 4 1
3 1 3
stdout
NO
NO
YES
0 0
3 0
3 2
2 1
1 1
0 2
YES
0 0
1 0
1 1
YES
0 0
3 0
3 2
2 1
1 2
0 2
YES
0 0
2 0
4 2
2 2
1 1
1 2
-2 2
Explanation
We can show that no corresponding polygons exist for the first two test cases.
A possible polygon for the third test case:

A possible polygon for the fourth test case:

A possible polygon for the fifth test case:

A possible polygon for the sixth test case:
