Для ідентифікації ресурсів в Інтернеті використовуються URL (Uniform Resource Locators). URL складається з кількох компонентів: протокол, хост, порт, шлях, файл та секція. Деякі з цих елементів можуть бути відсутніми. Розглянемо спрощений формат URL:
[protocol://][:][/[[# ]]]
Елементи, взяті у квадратні дужки, є необов'язковими, тобто, наприклад, протокол або секцію можна не вказувати. Якщо ж файл зазначено, шлях також має бути вказаний. Регістр літер в елементах URL не має значення.
Ознайомимось коротко з усіма елементами URL:
Протокол — це спосіб доступу до файлу. URL з різними протоколами, але зі спільними іншими елементами можуть відповідати різним ресурсам.
Хост і порт — це назва сервера в мережі і спосіб доступу до нього (порт — натуральне число, не більше ).
Шлях — це шлях до файлу, що містить потрібний ресурс, від певного каталогу на сервері, званого коренем. Для розділення імен каталогів використовується символ "/". Якщо шлях не порожній, він завжди починається з символу "/". Спеціальне позначення "." відповідає самому каталогу, а ".." — батьківському каталогу.
Файл — це файл, що містить запитуваний ресурс.
Файл може також бути поділений на секції певним чином, і ви можете вказати, до якої секції бажаєте звернутись.
Деякі символи в URL можна замінити на їх шістнадцятковий ASCII-код за допомогою символу , наприклад, a = \%41, Z = \%5A. Код записується двома шістнадцятковими цифрами.
Деякі символи можуть з'являтись в елементах URL лише у вигляді шістнадцяткових кодів — усі символи, крім латинських літер, цифр, а також символів "." і "-". Деякі не можуть траплятись зовсім: "", "#", "*", "@", "%", "?", ":", ",", а також символи з ASCII-кодом менше . Символ "/" може з'являтись в елементах URL лише у шляху як роздільник каталогів у ньому. Ім'я файлу не може складатись виключно з крапок.
Розглянемо приклади URL:
http://example.edu/school
ftp://somewhere.net:1234/pub/files/coolgame.zip
nobody.nowhere.net/some%20dir/some%20file#some%20info
Ваше завдання у цій задачі — допомогти розробникам веб-серверів. Для веб-сервера відсутні частини URL мають такі значення за замовчуванням:
протокол: http
порт:
шлях: /
файл: index.html
секція: порожній рядок
Різні рядки URL можуть вказувати на один і той самий ресурс, наприклад, наступні три URL:
example.edu
http://example.edu:80/index.html#
Http://EXAMPLE.EDU/Dir/../././
Щоб розрізняти звернення до ресурсів, потрібно визначити, чи два різних URL посилаються на один і той самий ресурс. Допоможіть розробникам написати відповідну перевірку.
Вхідний файл складається з двох рядків, кожен з яких містить URL. Обидва URL задовольняють формату, наведеному у формулюванні задачі. Довжина кожного URL не перевищує символів. Гарантується, що жоден з проміжних каталогів у шляху до ресурсу не лежить вище кореневого каталогу (тобто URL виду http://somewhere.com/../dir/index.html не зустрічається), а імена всіх каталогів містять не менше одного символу (дві "/" поспіль ніде не можуть зустрітись, крім випадку одразу після двокрапки, що йде за іменем протоколу).
Виведіть YES, якщо обидва URL із вхідного файлу вказують на один і той самий ресурс, і NO — інакше.
Приклад 1