Порівняння URL
Для ідентифікації ресурсів у мережі Internet використовуються URL (Uniform Resource Locator). URL складається з декількох елементів: протокол, хост, порт, шлях, файл і секція. Деякі елементы URL можуть бути пропущені. Розглянемо спрощений формат URL:
[протокол://]хост[:порт][шлях/[файл[#секція]]]
Узяті у квадратні дужки елементи можуть бути пропущені, тобто, наприклад, можна не вказати протокол або секцію. Але, наприклад, якщо вказано файл, то обов'язково повинен бути вказаний шляхь. Регістр літер у елементах URL не важливий.
Розглянемо коротко усі елементи URL:
Протокол – це спосіб доступу до файлу, URL з різними протоколами та одинаковими іншими елементами можуть вказувати на різні ресурси.
Хост та порт – це ім'я деякого сервера у мережі та спосіб доступу до нього (порт – натуральне число, яке не перевищує 65535).
Шлях являє собою шлях до файлу, який містить ресурс, що запитується, від деякого каталогу на сервері, який називається кореневим. При цьому для відокремлення імен каталогів використовується символ "/". Шлях, якщо він не пустий, завжди починається з символу "/". Спеціальне позначення '.' відповідає самому каталогу, '..' – батьківському каталогу.
Файл – це файл, який міститьт ресурс, що запитується.
Нарешті, файл може бути розбито на секції якимось способом, і можна вказати, до якої саме секції ви хочете звернутись.
Різні символи в URL можуть бути замінені своїми шістнадцятковими ASCII‑кодами при допомозі символу %, наприклад, a = %41, Z = %5A. У коді завжди використовується рівно дві шістнадцяткові цифри.
Деякі символи можуть зустрічатись в елементах URL лише як шістнадцядкові коди – усі символи, крім літер латинського алфавіту, цифр та символов "." и "-", а деякі не можуть зустрічатись взагалі: "", "#", "*", "@", "%", "?", ":", ",", а також символи з ASCII-кодом меншим %20. Символ "/" може зустрічатись в елементах URL лише в шляху для розділу каталогів, які входять до нього. Ім'я файлу не може складатись лише з крапок.
Розглянемо приклади URL:
http://neerc.ifmo.ru/school
ftp://somewhere.net:1234/pub/files/coolgame.zip
nobody.nowhere.net/some%20dir/some%20file#some%20info
Ваше завдання у цій задачі – допомогти розробникам web-сервера. Для web-сервера відсутні частини URL мають наступні значення за замовчуванням:
Різні як рядки URL можуть вказувати на один і той же ресурс, наприклад наступні три URL:
neerc.ifmo.ru
http://neerc.ifmo.ru:80/index.html#
Http://NEERC.IFMO.Ru/Dir/../././
Для розмежування доступу до ресурсів необхідно вміти визначати, чи вказують два різних URL на один і той же ресурс. Допоможіть розробоникам написати відповідну перевірку.
Вхідні дані
Вхідний файл складається з двох рядків, кожен з них містить URL. Обидва URL задовільняють формату, наведеному в умові цієї задачі. Довжина кожного URL не перевищує 200 символів. Гарантується, що жоден з проміжних каталогів на шляху до ресурсу не лежить вищ кореневого каталога (тобто не може зустрітись, наприклад, URL http://somewhere.com/../dir/index.html) а також, що імена усіх каталогів складаються по меншій міре з одного символу (два символи "/" не можуть йти підряд у довільному місці, крім як безпосередньо після двокрапки після імені протоколу).
Вихідні дані
Виведіть YES у вихідний файл, якщо обидва URL, наведені у вхідному файлі, вказують на один і той же ресурс і NO в протилежному випадку.