Прошли годы. Сменились поколения. Во всех вузах совсем другие люди играют уже в треугольник. Но Диме и Саше до того часто не везло, что им до сих пор приходится заниматься этим неблагодарным делом.
На столе у Димы лежит карта Екатеринозаводска, на которой отмечены 3 стратегические точки: (x1, y1) — Екатеринозаводский государственный университет, (x2, y2) — суши-бар «Карельская горница» и (x3, y3) — развлекательный центр «T34», куда Дима с Сашей ходят играть
в русский бильярд. Точки вместе с соединяющими их отрезками образуют невырожденный треугольник. Из картона вырезана треугольная фишка, равная нарисованному треугольнику. Цель игры — за несколько ходов добиться того, чтобы фишка в точности совпала с нарисованным треугольником. Ход состоит в применении к фишке зеркальной симметрии относительно некоторой прямой. Можно считать, что в процессе игры фишка всё время находится в пределах карты. Саша хочет определить минимальное количество ходов, необходимое для завершения игры.
Исходные данные
В первой строке находятся 6 целых чисел: x1, y1, x2, y2, x3, y3. Во второй строке находятся 6 целых чисел — текущие координаты фишки: X1, Y1, X2, Y2, X3, Y3. Все числа на вводе по модулю не превосходят
2000.
Результат
Если фишку невозможно переместить так, чтобы она совпала с треугольником, выведите «IMPOSSIBLE». Иначе выведите наименьшее количество ходов, за которое это можно сделать.
Пример
исходные данные | результат |
---|
4 0 6 3 7 0
0 0 2 3 3 0
| 2
|
Замечания
В примере к фишке нужно сначала применить симметрию относительно прямой x = 2, затем симметрию относительно прямой x = 4.
Автор задачи: Александр Ипатов
Источник задачи: XIII Открытый командный чемпионат УрГУ по программированию