Робота чи радість#2280

Робота чи радість

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

Як довго ви можете розв'язувати задачі без перепочинку? Іноді хочеться відпочити, але зараз не час. Потрібно зібратися з думками та вирвати перемогу у своїх суперників.

Ця задача покликана відрізнити хороші команди від Чемпіонів, тих, хто прагне потрапити у першу десятку, від тих, хто не погодиться на місце нижче першого. Оскільки число людей, які хочуть знайти автора цього насиченого вступу та висловити свої думки, зростає, переходимо до справи. Дано неорієнтований граф. Далі йдуть кілька запитів. Кожен запит складається з пари вершин.

Для кожного запиту визначте, чи існує хоча б три реберно-неперетинні шляхи між першою та другою вершиною.

Вхідні дані

У першому рядку містяться два цілих числа та (1 \leq n, k \leq 100000) — кількість вершин і ребер у графі. Кожен з наступних рядків описує ребро парою з'єднаних вершин , (1 \leq a, b \leq n). Ребра з'єднують різні вершини, і між будь-якими двома вершинами існує не більше одного ребра. У наступному рядку задано кількість запитів (0 \leq q \leq 100000). Кожен з наступних рядків містить по два цілих числа , (a \neq b, 1 \leq a, b \leq n) — пару вершин для запиту.

Вихідні дані

Для кожного запиту виведіть в окремому рядку: Yes, якщо існують такі три шляхи, або No — якщо ні.

Приклади

Приклад 1

Loading
Loading