Святкування
Limits: 2 sec., 256 MiB
Сьогодні всі святкують День Щасливих Чисел!
Зеник та Марічка святкують його у Львові. Вони вже відвідали 47 барів, але Марічка стала наполягати на тому, що пора повертатися додому. Зеник же хоче продовжити святкування і тому вирішує втекти від Марічки.
Оскільки ні Зеник, ні Марічка до того не часто гуляли барами Львова – вони не знають всіх можливих доріг. Лише ті, про які вони колись вичитали в путівниках. Мало того, дороги які знає Зеник не обов’язково знає Марічка та навпаки. Зважаючи на те, що в путівниках часто не розказують про всі дороги, а лише про якусь обмежену їх кількість – і Зеник, і Марічка знають не більше одного шляху між кожною парою барів. Тобто, дороги, про які знає Зеник, утворюють набір з одного чи більше дерев. Також і дороги, про які знає Марічка, утворюють набір з одного чи більше дерев.
Ще раніше Зеник та Марічка встановили додаток, який дозволяє переглядати місцеперебування один одного в будь-який момент часу. Зараз же Зеник раз в годину перевіряє, де знаходиться Марічка, і вирішує, чи залишитися у своєму поточному барі, чи перейти до сусіднього по одній з відомих йому доріг. Марічка розуміє, як діє Зеник, тому після того, як Зеник вже обрав новий бар, вона обирає, чи піти до сусіднього бару по одній з відомих Марічці доріг, чи залишитися у своєму поточному. Оскільки Марічка дуже розумна, вона обиратиме бари таким чином, щоб зустрітися з Зеником якомога швидше, враховуючи, що Зеник також обиратиме бари таким чином, щоб якомога довше святкувати найбільше свято року.
Однак Зеник не такий розумний, як Марічка, тому йому потрібна ваша допомога. Скажіть, скільки годин Зеник зможе святкувати, перш ніж його знайде Марічка. Якщо свято може тривати вічно – виведіть \(\texttt{-1}\).
Input
У першому рядку задано 5 цілих чисел: кількість барів у Львові \(n\), кількість доріг, які знає Зеник \(m_1\), кількість доріг, які знає Марічка \(m_2\), бар в якому знаходиться Зеник \(a\) та бар в якому знаходиться Марічка \(b\).
Наступні \(m_1\) рядків містять по парі чисел \(u\), \(v\) – вони позначають, що Зеник знає дорогу між барами \(u\) та \(v\).
Наступні \(m_2\) рядків містять по парі чисел \(u\), \(v\) – вони позначають, що Марічка знає дорогу між барами \(u\) та \(v\).
Output
В єдиному рядку виведіть одне ціле число – кількість годин після яких Марічка знайде Зеника, або \(\texttt{-1}\) якщо Зеник святкуватиме День Щасливих Чисел до старості.
Constraints
\(1 \le n \le 10^{5}\),
\(0 \le m_1, m_2 \le n - 1\),
дороги, про які знає Зеник, утворюють набір з одного, чи більше дерев,
дороги, про які знає Марічка, утворюють набір з одного, чи більше дерев,
\(1 \le a, b \le n\),
\(a \neq b\).
Samples
Input (stdin) | Output (stdout) |
---|---|
5 4 4 1 4 1 2 2 3 3 4 3 5 1 2 2 3 2 4 4 5 | 2 |
Submit a solution
Element Type | Created | Who | Problem | Compiler | Result | Time (sec.) | Memory (MiB) | # | Actions |
---|
Element Type | Created | Who | Problem | Compiler | Result | Time (sec.) | Memory (MiB) | # | Actions |
---|