시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 1024 MB0000.000%

문제

Члены экипажа обнаружили место преступления предателя. Теперь команда корабля хочет оградить это место преступления.

Место преступления выглядит как выпуклый многоугольник $A$. Команда корабля хочет оградить его другим выпуклым многоугольником $B$. Причем, у $B$ должно быть минимальное возможное число вершин. И все вершины многоугольника $A$ должны лежать на границе многоугольника $B$.

Помогите команде выбрать такой многоугольник $B$.

입력

В первой строке дано одно целое число $t$ --- количество тестовых наборов ($1 \le t \le 1\,000$). Далее дано описание $t$ тестовых наборов.

В первой строке тестового набора дано одно целое число $n$ --- количество вершин в многоугольнике $A$ ($3 \le n \le 100$).

В следующих $n$ строках даны по два целых числа $x_i$ и $y_i$ --- координаты $i$-й вершины многоугольника ($|x_i|, |y_i| \le 1\,000$). Вершины многоугольника даны в порядке обхода против часовой стрелки. Гарантируется, что многоугольник является строго выпуклым. То есть, в том числе, никакие три его последовательные вершины не лежат на одной прямой.

출력

Для каждого тестового набора сначала выведите одно целое число $m$ --- количество вершин в найденном многоугольнике $B$.

В следующих $m$ строках выведите по два вещественных числа $x_i$ и $y_i$ --- координаты $i$-й вершины многоугольника. Выводите вершины многоугольника в порядке обхода против часовой стрелки. Выведенный многоугольник должен быть строго выпуклым. А также, все вершины исходного многоугольника должны находиться на расстоянии не более $10^{-6}$ от границы выведенного многоугольника.

예제 입력 1

3
3
1 0
1 1
0 1
4
0 0
1 0
1 1
0 1
5
1 0
3 0
3 2
1 2
0 1

예제 출력 1

3
0.0 0.0
2.0 0.0
0.0 2.0
3
0.0 0.0
2.0 0.0
0.0 2.0
3
3.0 0.0
3.0 4.0
-1.0 0.0