eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Дотичні до сфер

Дотичні до сфер

Ліміт часу 2 секунди
Ліміт використання пам'яті 256 MiB

Вам задано три сфери у просторі. Знайдіть всі їх спільні дотичні площини.

Вхідні дані

У першому рядку M — кількість тестів. Наступні 3M рядків описують самі сфери. Кожну сферу описано 4 числами: координатами центру та радіусом. Всі числа у файлі цілі; відомо, що всі координати від -500 до +500, радіус більше нуля і не перевищує 500. Центри сфер не співпадають і не лежать на одній прямій.

Вихідні дані

Для кожного тесту виведіть K — кількість різних дотичних площин. Наступні K рядків описують ці площини. Кожен рядок — чотири цілих числа A; B; C; D, які задають площину Ax+By+Cz=D, такі, що A^2+B^2+C^2=1. Описи площин можуть бути виведені у довільному порядку. Виводьте числа з точністю не менше 5 знаків після десяткової крапки.

Приклад

Вхідні дані #1
1
0 0 0 1
0 2 0 1
2 0 0 1
Вихідні дані #1
4
0.0000000000000000 1.0000000000000000 0.0000000000000000 1.0000000000000
1.0000000000000000 0.0000000000000000 0.0000000000000000 1.0000000000000
0.0000000000000000 0.0000000000000000 1.0000000000000000 -1.0000000000000
0.0000000000000000 0.0000000000000000 1.0000000000000000 1.0000000000000
Автор Станіслав Пак
Джерело Зимова Школа, Харків 2011