Раціональний більярд#780

Раціональний більярд

2 секунди
64 мегабайти
Дуже легка

Міжнародна Фабрика Більярду (IBM) виготовляє найкращі більярдні столи у світі. Її найновіший продукт — Раціональний Більярд, стіл без тертя з кулями без об'єму. Це означає, що кулі займають лише одну точку у просторі, і після удару києм рухаються по столу з постійною швидкістю, доки не зіткнуться з іншою кулею.

IBM хоче, щоб ви створили програму для аналізу поведінки куль на Раціональному Більярді. Програма повинна визначити, чи перша куля, запущена під певним кутом, влучить у другу кулю, яка знаходиться у певній точці. Наступні рисунки демонструють конфігурацію столу та куль:

та — цілі числа, що задають розміри столу. (x_1, y_1) та (x_2, y_2) — координати першої та другої кулі відповідно, де 0 < x_1, x_2 < m та 0 < y_1, y_2 < n. Напрям, у якому вдаряють першу кулю, визначається цілими числами і (обидва не можуть дорівнювати нулю одночасно). Значення p = 0 означає, що куля рухається паралельно вертикальній осі відповідно до знака . Якщо куля вдаряється об край, вона відбивається так, ніби край був дзеркалом (кут падіння дорівнює куту відбиття). В особливому випадку, коли куля вдаряється у кут, вона відбивається по тій же прямій, але у протилежному напрямку. Вплив обертання (спіну) ігнорується.

Вхідні дані

Кожен рядок у вхідних даних відповідає одному тесту, який задається вісьмома цілими числами: , , x_1, y_1, x_2, y_2, , , де 0 < m, n \leq 1000, 0 < x_1, x_2 < m, 0 < y_1, y_2 < n, -1000 \leq p, q \leq 1000 та |p| + |q| > 0.

Кінець вхідних даних позначається рядком "0 0 0 0 0 0 0 0".

Вихідні дані

Для кожного тесту виведіть в окремому рядку "HIT", якщо перша куля вдаряє у другу, або "MISS", якщо ні.

Приклади

Приклад 1

Loading
Loading