Ой! Я не лише проспав (а сьогодні ж день змагання!), але й застряг десь у Делфті по дорозі з готелю до місця проведення конкурсу. Навколо мене всюди грахти, ці міські канали, які є частиною багатьох міст у Нідерландах. Я трохи поспішаю, бо через кілька хвилин стартує змагання NWERC.
Що ще гірше, деякі мости в Делфті закриті через велосипедну гонку по місту. Тому замість пошуку відкритих мостів я вирішив перестрибнути через грахт.
Усім відомо, що комп'ютерні науковці, як я, добре розбираються в алгоритмах, але не є хорошими спортсменами. До того ж я трохи нервую і не хочу промокнути. Мені потрібна твоя допомога, щоб розрахувати відстань, на яку мені потрібно стрибнути через грахт.
На щастя, вчора я побував на екскурсії в центрі Делфту, де дізнався, що всі бруківки в Делфті квадратні і мають однаковий розмір. Таким чином, я можу зробити деякі виміри на моїй стороні грахта (мої одиниці - бруківка):

Ілюстрація для першого прикладу.
Я пройшов від точки до точки через точки і , рахуючи камені бруківки.
Точки і завжди знаходяться на краю грахта. Точки і знаходяться на однаковій відстані до грахта. Цільова точка завжди знаходиться на краю іншої сторони каналу; це точка перетину лінії, що проходить через і , і лінії, що проходить через і . Кут між і становить градусів, а два краї каналу - паралельні лінії.
Обчисліть для мене відстань між і (необхідну відстань стрибка).
Для кожного тесту в одному рядку містяться три додатних цілих числа, що визначають відстані між і , і та і .
Відомо, що жодна відстань не перевищує , а відстань між і більша, ніж відстань між і .
Для кожного тесту в одному рядку виведіть відстань між і у вигляді нескоротної дроби (тобто видаліть усі спільні множники чисельника і знаменника).
Приклад 1