Два кольца
В 21XX году человечество успешно установило контакт с внеземными формами жизни. Мы обнаружили несколько планет, населённых разумными существами, и наслаждаемся межпланетной связью. Вегетаблия — одна из таких планет. Жители Вегетаблии напоминают земные овощи, поэтому мы с уважением и дружелюбием называем их Вегетаблианами.
Однажды мистер Картофель, ваш друг с Вегетаблии, сообщил, что собирается жениться на своей подруге, мисс Томат. Он сказал: "На самом деле, перед нашей свадьбой нам нужно выполнить одну традицию."
"На Вегетаблии существует традиционная практика для браков. Согласно этой практике, мужчина и женщина, желающие пожениться, должны отдельно совершить путешествие вокруг Вегетаблии, чтобы расширить свои знания перед свадебной церемонией. Каждый из них начинает путешествие из отдельной точки на планете и продолжает идти вперед, пока не вернётся в исходную точку. Эта практика называется обетом двух колец, потому что их пути напоминают два кольца на планете."
"Существует известная молва: 'пара, встретившаяся во время путешествия, будет счастлива'. Я надеюсь, что это сбудется, но я понял, что в зависимости от наших начальных точек и направлений мы можем никогда не встретиться. Я действительно хочу знать, сможем ли мы встретиться или нет."
Как хороший друг мистера Картофеля, вы хотите помочь ему решить эту проблему. Планета Вегетаблия представлена как единичная сфера, и путь путешествия выражается как секущая поверхность сферы. Даны два пути, и ваша задача — найти координаты их точек пересечения (если они существуют).
Входные данные
Входные данные состоят из нескольких тестовых случаев.
Первая строка входных данных содержит целое число, обозначающее количество тестовых случаев.
Каждый тестовый случай состоит из описаний двух различных кругов на сфере, каждый из которых представлен двумя координатами широты/долготы. Две координаты широты/долготы p[1]
и p[2]
указывают круг, диаметр которого совпадает с отрезком p[1]-p[2]. Каждая координата широты/долготы задается следующим образом:
lat [N|S] long [E|W]
где lat
и long
— это широта и долгота точки в градусах соответственно. Второй (N
или S
) и четвертый токен (E
или W
) указывают, к какому полушарию принадлежит точка. Значения lat
и long
удовлетворяют условиям 0 ≤ lat ≤ 90
и 0 ≤ long ≤ 180
.
В каждом представлении координат можно предположить, что p[1]
и p[2]
никогда не совпадают, и отрезок p[1] - p[2]
не является диаметром единичной сферы. Также можно предположить, что значения широты и долготы во входных данных являются целыми числами. Гарантируется, что существует две точки пересечения, если пересечения есть.
Выходные данные
Для каждого тестового случая выведите строку "Case n:", где n
— номер тестового случая. После строки выведите "No intersection.", если два круга никогда не пересекаются. В противном случае выведите координаты пересечений в том же формате, что и во входных данных. Значения должны быть напечатаны с тремя знаками после запятой. Если координаты могут быть представлены несколькими способами, любой из них подходит. Все значения должны быть напечатаны без знаков минуса.
Выведите пустую строку между каждым тестовым случаем.