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

Конструктор

Конструктор

Хлопчику Петрику нещодавно подарували конструктор для збирання роботів Mindrack 2.0. Прочитавши документацію, Петрик вирішив зібрати простий плоттер для малювання фігур. Плоттер являє собою руку, яка складається з двох плечей, з'єднаних шарніром, який обертається, і має кріплення для олівця на кінці. Руку закріплено на підставці також при допомозі шарніру. Додатково рука має сервоприводи, які можуть повертати її відносно основи і один сегмент відносно іншого. Рука встановлюється на підставці з папером, на які можна малювати різні фігури. Схематично руку зображено на картинці нижче. \includegraphics{https://static.e-olymp.com/content/59/590c107b449533b07ed79b8b34a847a681dde131.jpg} Для малювання фігур робо-рукою Петрик написав програму, яка дозволяє малювати різноманітні замкнуті ламані за заданим набором координат вершин за рахунок узгодженого керування сервомоторами. При цьому рука малює ламану, не відриваючи олівець від паперу. Єдина проблема, з якою зіткнувся Петрик, полягає у тому, що шарніри руки не можуть необмежено провертатись. Шарнір у основі може провертатись не більше ніж на \textbf{φ} градусів ліворуч та праворуч відносно свого среднього положення. Шарнір, що з'єднує плечі, може провортатись не більше ніж на \textbf{θ} градусі у обидві сторони відносно положення, коли одне плече співнаправлено з другим. Тому при малюванні ламаних можуть виникати ситуації, коли рука не зможе продовжити малювання без відриву олівця від паперу. У цьому випадку Петрику приходиться самостійно від'єднувати олівець від руки, переводити її у нове положення, а потім під'єднувати олівець. При цьому рука продовжує малювати ламану з тієї ж точки, на якій вона завершила малювання перед "перемиканням". Звичайно, що Петрик хоче мінімізувати кількість таких ручних "перемикань". Припустимо, що рука знаходиться на координатній площині \textbf{Oxy}, причому вона прикріплена до основи у початку координат. Вважається, що у средньому положенні рука напрямлена у напрямку осі \textbf{Oy}. Будемо вважати, що рука складається з двох відрізків --- довжини \textbf{L} та \textbf{l}, які відповідають першому плечу, яке кріпиться до основи, та другому плечу, на кінці якого закріплено олівець. Вам потібно за заданими параметрами руки --- числам \textbf{L}, \textbf{l}, \textbf{φ} та \textbf{θ}, і координатам вершин замкнутої ламаної на площині визначити мінімально необхідну кількість ручних перемикань руки, які потрібно зробити Петі, щоб намалювати задану ламану, або визначити, що це неможливо. Рука може починати малювання з довільної точки ламаної. Проте після того, як вибрано стартову точку і напрямок обходу ламаної при иалюванні, міняти цей напрямок вже не можна. Також після перемикання рука повинна продовжити малювання з тієї ж точки, у які відбулось перемикання режиму, і у тому ж напрямку. Руці не дозволяється проводити олівцем по вже намальованій частині ламаної. У випадку, коли ламана має самоперетини або самодотики, при малюванні не дозволяється "перестрибувати" у таких точках на іншу частину ламаної. \InputFile У першому рядку вхідного файлу задано чотири цілих невід'ємних числа --- \textbf{L}, \textbf{l}, \textbf{φ} та \textbf{θ} (\textbf{1} ≤ \textbf{L + l} ≤ \textbf{10^4}, \textbf{φ + θ} ≤ \textbf{180}). У наступному рядку записано ціле число \textbf{N} --- кількість вершин ламаної (\textbf{3} ≤ \textbf{N} ≤ \textbf{100000}). Далі йде \textbf{N} рядків з парами цілих чисел \textbf{x_i} та \textbf{y_i} -- декартовими координатами вершин ламаної. Координати по модулю не перевищують \textbf{10^4}. Ніякі дві вершины не співпадають. Вважається, що ламана складається з відрізків з вершинами (\textbf{x_1}, \textbf{y_1})−(\textbf{x_2}, \textbf{y_2}), (\textbf{x_2}, \textbf{y_2})−(\textbf{x_3}, \textbf{y_3}), …, (\textbf{x_\{N−1\}}, \textbf{y_\{N−1\}})−(\textbf{x_N}, \textbf{y_N}) и (\textbf{x_N}, \textbf{y_N})−(\textbf{x_1}, \textbf{y_1}). \OutputFile У єдиний рядок вихідного файлу необхідно вивести мінімально необхідну кількість ручних перемикань руки для малювання заданої ламаної, або число \textbf{--1}, якщо намалювати ламану вказаним способом неможливо.
Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
4 4 90 90
6
-6 2
-3 6
3 6
6 2
3 7
-3 7
Вихідні дані #1
1
Джерело Очний тур XIII Відкритої Всесибірської олімпіади з програмування імені І.В. Поттосіна