EduBrick

B. Пересекаем окружности

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

Даны две окружности. Определите, сколько у них общих точек, и найдите их - вместе с промежуточными величинами построения.

Формат ввода

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

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

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

Для каждого теста выведите количество общих точек: 0, 1, 2 или 3, если их бесконечно много.

При одной общей точке выведите в следующей строке её координаты. При двух выведите координаты точки HH, затем длины ∣O1H∣|O_1H| и ∣HP∣|HP|, затем сами точки - сначала ту, у которой меньше xx, а при равных xx - меньше yy. Точность 10−610^{-6}.

Примеры

ввод
4
3 4 5
11 4 2
3 4 5
11 4 3
3 4 5
11 4 4
3 4 5
3 4 5
вывод
0
1
8 4
2
7.5625 4
4.5625 2.045383521
7.5625 1.954616479
7.5625 6.045383521
3
ввод
2
0 0 1
0 0 2
0 0 3
0 0 1
вывод
0
0
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.