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

Порівняння URL

Порівняння URL

Для ідентифікації ресурсів у мережі Internet використовуються URL (Uniform Resource Locator). URL складається з декількох елементів: \textit{протокол}, \textit{хост}, \textit{порт}, \textit{шлях}, \textit{файл} і \textit{секція}. Деякі елементы URL можуть бути пропущені. Розглянемо спрощений формат URL: \textbf{\[протокол://\]хост\[:порт\]\[шлях/\[файл\[#секція\]\]\]} Узяті у квадратні дужки елементи можуть бути пропущені, тобто, наприклад, можна не вказати протокол або секцію. Але, наприклад, якщо вказано файл, то обов'язково повинен бути вказаний шляхь. Регістр літер у елементах URL не важливий. Розглянемо коротко усі елементи URL: \textit{Протокол} -- це спосіб доступу до файлу, URL з різними протоколами та одинаковими іншими елементами можуть вказувати на різні ресурси. \textit{Хост} та \textit{порт }-- це ім'я деякого сервера у мережі та спосіб доступу до нього (порт -- натуральне число, яке не перевищує 65535). \textit{Шлях }являє собою шлях до файлу, який містить ресурс, що запитується, від деякого каталогу на сервері, який називається \textit{кореневим}. При цьому для відокремлення імен каталогів використовується символ "/". Шлях, якщо він не пустий, завжди починається з символу "/". Спеціальне позначення '.' відповідає самому каталогу, '..' -- батьківському каталогу. \textit{Файл} -- це файл, який міститьт ресурс, що запитується. Нарешті, файл може бути розбито на \textit{секції} якимось способом, і можна вказати, до якої саме секції ви хочете звернутись. Різні символи в 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 на один і той же ресурс. Допоможіть розробоникам написати відповідну перевірку. \InputFile Вхідний файл складається з двох рядків, кожен з них містить URL. Обидва URL задовільняють формату, наведеному в умові цієї задачі. Довжина кожного URL не перевищує 200 символів. Гарантується, що жоден з проміжних каталогів на шляху до ресурсу не лежить вищ кореневого каталога (тобто не може зустрітись, наприклад, URL http://somewhere.com/../dir/index.html) а також, що імена усіх каталогів складаються по меншій міре з одного символу (два символи "/" не можуть йти підряд у довільному місці, крім як безпосередньо після двокрапки після імені протоколу). \OutputFile Виведіть \textbf{YES} у вихідний файл, якщо обидва URL, наведені у вхідному файлі, вказують на один і той же ресурс і \textbf{NO} в протилежному випадку.
Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
neerc.ifmo.ru
neerc.ifmo.ru:80
Вихідні дані #1
YES