EduBrick

A. Касательные к окружности

1000 мс · 256 МБ · всё или ничего

Даны окружность и точка. Найдите точки, в которых касательные, проведённые из этой точки, касаются окружности.

Из точки вне окружности касательных две, из точки на окружности - одна, изнутри - ни одной.

Формат ввода

В первой строке - число запросов qq (1≤q≤1051 \le q \le 10^5).

В следующих qq строках - по пять целых чисел: координаты центра, радиус и координаты точки. Все числа по модулю не превосходят 10410^4, радиус положителен.

Формат вывода

Для каждого запроса выведите в первой строке количество точек касания.

Затем выведите сами точки, каждую в отдельной строке, с точностью 10−610^{-6}: по возрастанию xx, при равных xx - по возрастанию yy.

Примеры

ввод
2
2 2 2 2 5
10 10 10 20 20
вывод
2
0.509288015 3.333333333
3.490711985 3.333333333
2
10 20
20 10
ввод
3
0 0 5 0 0
0 0 5 5 0
0 0 5 3 4
вывод
0
1
5 0
1
3 4
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.