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

Бильярд

Бильярд

Пусть G - выпуклый многоугольник, p - точка, лежащая строго вне многоугольника. Из точки p к G проведено две касательных. Давайте возьмем "правую" точку (относительно p) и предположим, что q - точка касания, а r - точка, симметричная p, где q - центр симметрии. Пусть r = T(p) и назовем T "биллиардным преобразованием".

Касательная pq из точки p к выпуклому многоугольнику G, где q - точка касания, называется правой, если для любой точки uG вращение против часовой стрелки от вектора pq к вектору pu совершается по углу в интервале [0, π).

Приведем пример, который поможет понять сущность преобразования T. Пусть G - треугольник с вершинами (0, 0), (2, 0), (1, 1), точка p имеет координаты (-1, -1). Тогда "правая" касательная пройдет через вершину (2, 0), поэтому T(p) = (5, 1). Аналогично T((3, 0)) = (-1, 2), T((3, 2)) = (-1, 0), T((3, 4)) = (-3, -4). В некоторых случаях "правая" касательная может касаться многоугольника не в вершине, а в стороне. Если этот случай имеет место, то T(p) неопределено. Например, для многоугольника G значения T((3, 3)), T((-1,0)), T((4, -2)) неопределены.

Рассмотрим последовательность S(p) = (p, T(p), T(T(p)), ...). В зависимости от поведения последовательности множество всех точек p вне многоугольника разобьется на классы:

  1. Последовательность S(p) конечна (то есть T(v) неопределено для последнего значения v).
  2. Последовательность S(p) бесконечна и периодична, возможно с некоторым предпериодом.
  3. Последовательность S(p) бесконечна и не периодична.

В задаче "бильярдным столом", или фигурой G, является параллелограмм OABC, где O = (0, 0). Вам заданы координаты некоторого "стола" и точка строго вне его. Выясните тип последовательности. Если последовательность периодическая (типа 2), то найдите ее период.

Входные данные

Первая строка содержит количество тестов t (1t3 * 105). Каждая из следующих t строк содержит шесть целых чисел xA, yA, xC, yC, xp, yp, не превышающих по модулю 109: координаты точек A, C и p. Гарантируется, что параллелограмм OABC невырожденный, а точка p лежит вне многоугольника.

Выходные данные

Для каждого теста вывести в отдельной строке одно число:

  • -1, если последовательность конечна,
  • Длину периода, если последовательность периодична,
  • -3, если последовательность бесконечна и не периодична.
Лимит времени 1 секунда
Лимит использования памяти 128 MiB
Входные данные #1
2
0 2 2 0 1 -1
1 0 0 1 -1 1
Выходные данные #1
4
-1
Источник 2013 Петрозаводск, MIPT contest, Август 25, Задача D