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

Гра

Дитина намалювала \textit{\textbf{N}} (\textit{\textbf{N}} ≤ \textbf{100}) прономерованих кружечків різного кольору. Вона з'єднала деякі кружечки кольоровими стрілками. Кожна пара кружечків при цьому могла виявитись з'єднаною довільною кількістю стрілок довільного кольору. Присвоїмо кожному кольору свій номер, який не перевищує \textbf{100}. Перед початком гри дитина поклала одну фішку на кружечок з номером \textit{\textbf{L}}, а другу --- на неспівадаючий з першим кружечок під номером \textit{\textbf{K}}. Фінішною вважається неспівпадаюча з ними клітинка з номером \textit{\textbf{Q}}. Потім починаєтся гра за наступними правилами: \begin{itemize} \item Фішку можна рухати по стрілці, що йде з її кружечка, якщо колір стрілки співпадає з кольором кружечка, на якому розміщено іншу фішку. \item Дві фішки ніколи не можуть знаходитись на одном і тому ж кружечку в один і той же час. \item Порядок ходів вільний (тобто немає необхідності пересувати фішки по черзі). \item Гра завершується, коли довільна з двох фішок досягне кружечка з номером \textit{\textbf{Q}}. \end{itemize} Ви повинні написати програму, яка буде визначати мінімальну кількість ходів, за яку можна завершити гру, якщо її завершення існує. \InputFile Перший рядок вхідного файлу містит числа \textit{\textbf{N}}, \textit{\textbf{L}}, \textit{\textbf{K}}, \textit{\textbf{Q}}, відокремлені пропусками. Другий рядок містить з \textit{\textbf{N}} цілих чисел \textit{\textbf{c}}\textbf{_1}, \textit{\textbf{c}}\textbf{_2}, ... , \textit{\textbf{c_N}}, відокремлених пропусками, у такому порядку, що \textit{\textbf{c_i}} означає колір кружечка під номером \textit{\textbf{i}}. Третій рядок містить одне число \textit{\textbf{M}} (\textbf{0} ≤ \textit{\textbf{M}} ≤ \textbf{10000}), яке задає загальну кількість стрілок. Кожен з наступних \textit{\textbf{M}} рядків описує одну зі стрілок. Кожна стрілка описується трьома цілими числами \textit{\textbf{A_j}}, \textit{\textbf{B_j}}, \textit{\textbf{C_j}}, відокремлених пропусками, де \textit{\textbf{A_j}} та \textit{\textbf{B_j}}\textit{ }--- номери кружечків (стрілку направлено від кружечка \textit{\textbf{A_j}} до \textit{\textbf{B_j}}, а \textit{\textbf{C_j}} позначає колір стрілки. \OutputFile Перший рядок вихідного файлу повинен містити слово "\textbf{YES}", якщо гра може завершитись і "\textbf{NO}" у протилежному випадку. Якщо відповідь на це питання ---"\textbf{YES}", то у другому рядку вхідного файлу повинно міститись одне число --- мінімальна кількість ходів, яку потрібно зробити для завершення гри.
Ліміт часу 5 секунд
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
5 3 4 1
2 3 2 1 4
8
2 1 2
4 1 5
4 5 2
5 1 3
3 2 2
3 2 4
5 3 1
3 5 1
Вихідні дані #1
YES
3