Порівняння URL#2038

Порівняння URL

1 секунда
64 мегабайти
Складна

Для ідентифікації ресурсів в Інтернеті використовуються URL (Uniform Resource Locators). URL складається з кількох компонентів: протокол, хост, порт, шлях, файл та секція. Деякі з цих елементів можуть бути відсутніми. Розглянемо спрощений формат URL:

[protocol://][:][/[[# ]]]

Елементи, взяті у квадратні дужки, є необов'язковими, тобто, наприклад, протокол або секцію можна не вказувати. Якщо ж файл зазначено, шлях також має бути вказаний. Регістр літер в елементах URL не має значення.

Ознайомимось коротко з усіма елементами URL:

Протокол — це спосіб доступу до файлу. URL з різними протоколами, але зі спільними іншими елементами можуть відповідати різним ресурсам.

Хост і порт — це назва сервера в мережі і спосіб доступу до нього (порт — натуральне число, не більше ).

Шлях — це шлях до файлу, що містить потрібний ресурс, від певного каталогу на сервері, званого коренем. Для розділення імен каталогів використовується символ "/". Якщо шлях не порожній, він завжди починається з символу "/". Спеціальне позначення "." відповідає самому каталогу, а ".." — батьківському каталогу.

Файл — це файл, що містить запитуваний ресурс.

Файл може також бути поділений на секції певним чином, і ви можете вказати, до якої секції бажаєте звернутись.

Деякі символи в URL можна замінити на їх шістнадцятковий ASCII-код за допомогою символу , наприклад, a = \%41, Z = \%5A. Код записується двома шістнадцятковими цифрами.

Деякі символи можуть з'являтись в елементах URL лише у вигляді шістнадцяткових кодів — усі символи, крім латинських літер, цифр, а також символів "." і "-". Деякі не можуть траплятись зовсім: "", "#", "*", "@", "%", "?", ":", ",", а також символи з ASCII-кодом менше . Символ "/" може з'являтись в елементах URL лише у шляху як роздільник каталогів у ньому. Ім'я файлу не може складатись виключно з крапок.

Розглянемо приклади URL:

Ваше завдання у цій задачі — допомогти розробникам веб-серверів. Для веб-сервера відсутні частини URL мають такі значення за замовчуванням:

Різні рядки URL можуть вказувати на один і той самий ресурс, наприклад, наступні три URL:

Щоб розрізняти звернення до ресурсів, потрібно визначити, чи два різних URL посилаються на один і той самий ресурс. Допоможіть розробникам написати відповідну перевірку.

Вхідні дані

Вхідний файл складається з двох рядків, кожен з яких містить URL. Обидва URL задовольняють формату, наведеному у формулюванні задачі. Довжина кожного URL не перевищує символів. Гарантується, що жоден з проміжних каталогів у шляху до ресурсу не лежить вище кореневого каталогу (тобто URL виду http://somewhere.com/../dir/index.html не зустрічається), а імена всіх каталогів містять не менше одного символу (дві "/" поспіль ніде не можуть зустрітись, крім випадку одразу після двокрапки, що йде за іменем протоколу).

Вихідні дані

Виведіть YES, якщо обидва URL із вхідного файлу вказують на один і той самий ресурс, і NO — інакше.

Приклади

Приклад 1

Loading
Loading