Symmetry: Convex
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

Given a strictly convex polygon with n vertices p_1, p_2, , p_n in counterclockwise. Denote C_i as the polygon with i vertices p_1, p_2, , p_i. For each , 4, , n, find the lines which C_i is symmetric about.

输入描述:

There are multiple test cases. The first line of input contains an integer T(), the number of test cases. For each test case:

The first line contains an integer n (), the number of vertices.

The i-th of the following n lines contains two integers x_i, y_i (, ) - the coordinates of p_i.

It is guaranteed that the vertices are given counterclockwise, and the polygon is strictly convex, i.e., no three vertices are colinear.

It is guaranteed that the sum of n in all test cases does not exceed .

输出描述:

For each test case:

For each , 4, , n, output an integer k -- the number of lines which C_i is symmetric about in the first line, and k lines follow.

In each of the following k lines, output three integers a, b, c (, b, ), denoting that C_i is symmetric about the line .

If there are multiple answers, you can output any of them. For each i, you can output the lines in any order.
示例1

输入

复制
3
4
0 0
1 0
1 1
0 1
3
0 0
3 0
1 1
4
-1000000000 -1000000000
1000000000 -1000000000
1000000000 1000000000
-1000000000 1000000000

输出

复制
1
1 1 -1
4
1 -1 0
0 2 -1
2 0 -1
1 1 -1
0
1
1 1 0
4
1 -1 0
0 1 0
1 0 0
1 1 0