Рациональный бильярд
Международная фабрика бильярда (IBM) производит лучшие бильярдные столы в мире. Их последний продукт — Рациональный Бильярд, это стол без трения с шарами, которые не имеют объема. Это означает, что шары представляют собой точки в пространстве и, как только они ударяются кием, движутся по столу с постоянной скоростью, пока не столкнутся с другим шаром.
IBM хочет, чтобы вы разработали программу для анализа движения шаров на Рациональном Бильярде. Программа должна определить, попадет ли шар, ударенный под определенным углом, в другой шар, находящийся в заданной позиции. Следующая иллюстрация показывает конфигурацию стола и шаров:
m и n — это целые числа, обозначающие размеры стола. (x_1, y_1) и (x_2, y_2) — это координаты первого и второго шара соответственно, при этом 0 < x_1, x_2 < m и 0 < y_1, y_2 < n. Направление удара первого шара определяется целыми числами p и q. Точнее, наклон определяет направление удара кия, где p и q не могут одновременно равняться нулю. Значение p = 0 означает, что шар движется параллельно вертикальной оси, в зависимости от знака q. Когда шар ударяется о край, он отскакивает, как если бы край был зеркалом ( угол падения = угол отражения). В особом случае, когда шар ударяется о угол, он отражается по той же линии, но в противоположном направлении. Наконец, эффекты вращения также игнорируются.
Входные данные
Каждая строка входных данных соответствует тестовому случаю, заданному восемью целыми числами: m, n, x_1, y_1, x_2, y_2, p и q, при этом 0 < m, n ≤ 1000, 0 < x_1, x_2 < m, 0 < y_1, y_2 < n, -1000 ≤ p, q ≤ 1000, и |p| + |q| > 0.
Конец ввода обозначается строкой с текстом "0 0 0 0 0 0 0 0".
Выходные данные
Для каждого тестового случая программа должна выводить строку "HIT", если первый шар попадает во второй шар, или "MISS", если не попадает.