Ви прямуєте на свою першу співбесіду на посаду тестувальника програмного забезпечення і вже запізнюєтеся. Співбесіда проходить у хмарочосі, і ви зараз перебуваєте на поверсі , де бачите ліфт. Зайшовши в ліфт, ви помічаєте, що в нього є лише дві кнопки: "UP u" і "DOWN d". Ви робите висновок, що кнопка UP піднімає ліфт на поверхів вгору (якщо поверхів недостатньо, натискання кнопки UP нічого не змінює, або принаймні ви так припускаєте), тоді як кнопка DOWN опускає вас на поверхів вниз (або не опускає, якщо поверхів недостатньо). Знаючи, що співбесіда відбувається на поверсі , і що в будівлі всього поверхів, ви швидко вирішуєте написати програму, яка визначить кількість натискань кнопок, які вам потрібно виконати. Якщо ви не можете дістатися потрібного поверху, ваша програма повинна вивести повідомлення "use the stairs".
Дано , , , і (загальна кількість поверхів, стартовий поверх, цільовий поверх, підйом, спуск), і потрібно знайти найкоротшу послідовність натискань кнопок, щоб дістатися від до у будівлі з поверхів, або вивести "use the stairs", якщо це неможливо за допомогою ліфта.
Складаються з одного рядка, а саме , де 1 \leq s, g \leq f \leq 10^6 і 0 \leq u, d \leq 10^6. Поверхи нумеруються з одиниці, тобто якщо є поверхів, і можуть бути в .
Ви повинні вказати мінімальну кількість натискань, які потрібно зробити, щоб дістатися від до , або вивести "use the stairs", якщо це неможливо з урахуванням конфігурації ліфта.
Приклад 1
Приклад 2