Crime scene
Crew members located the traitor's crime scene. Now the ship's crew wants to secure this crime scene.
The crime scene looks like a convex polygon A. The crew of the ship wants to enclose it with another convex polygon B. Moreover, B must have the minimum possible number of vertices. And all the vertices of polygon A must lie on the boundary of polygon B.
Help the team to choose such polygon B.
Input
The first line contains one integer t (1 ≤ t ≤ 1000) - the number of test cases. The following is a description of the t test cases.
The first line of each test contains one integer n (3 ≤ n ≤ 100) - the number of vertices in polygon A.
The next n lines contain two integers x[i]
and y[i]
the coordinates of the i-th vertex of the polygon (|x[i]
|, |y[ i]
| ≤ 1000). The vertices of the polygon are given in counterclockwise order. It is guaranteed that the polygon is strictly convex. That is, no three of its consecutive vertices lie on the same straight line.
Output
For each test, first print one integer m - the number of vertices in the found polygon B.
In the next m lines print two real numbers x[i]
and y[i]
each, the coordinates of the i-th vertex of the polygon. Output polygon vertices in counterclockwise order. The resulting polygon must be strictly convex. Also, all vertices of the source polygon must be at a distance of no more than 10^(-6)
from the border of the output polygon.