Изменения рейтингов за последние раунды временно удалены. Скоро они будут возвращены. ×

E. Лидеры
ограничение по времени на тест
2 seconds
ограничение по памяти на тест
256 megabytes
ввод
стандартный ввод
вывод
стандартный вывод

После революции в Берляндии новый диктатор столкнулся с неожиданной проблемой — страной надо как-то управлять. Диктатор является очень эффективным менеджером, однако не может раздавать приказы всему населению лично, поэтому он решил выбрать некоторое множество подконтрольных ему лидеров, которые и будут управлять людьми непосредственно. Однако оказалось, что лидерская эффективность может очень сильно варьироваться от человека к человеку, поэтому диктатор обратился за помощью к всемирно известным берляндским ученым. Ученые предложили инновационную идею — лидеры должны работать парами.

Граф взаимоотношений — некоторый неориентированный граф с вершинами, соответствующими людям. Путь называется простым, если вершины в нем не повторяются. В результате многодневных и очень дорогих исследований было выяснено, что пара людей обладает наиболее высокими лидерскими качествами, если между ними в графе взаимоотношений есть простой путь с нечетным количеством ребер. Ученые решили называть такие пары различных людей лидерскими. Спецслужбы выдали ученым граф взаимоотношений, так что дело осталось за малым — надо научиться отвечать диктатору, являются ли лидерскими заданные пары людей. Помогите ученым справиться с этой задачей.

Входные данные

Во первой строке записаны целые числа n и m (1 ≤ n ≤ 105, 0 ≤ m ≤ 105) — соответственно количество вершин и ребер в графе взаимоотношений. В следующих m строках записаны пары целых чисел a и b, означающие, что между вершинами с номерами a и b есть ребро (вершины пронумерованы начиная с 1, 1 ≤ a, b ≤ n). Гарантируется, что в графе нет петель и кратных ребер.

В следующей строке записано число q (1 ≤ q ≤ 105) — количество пар, интересующих ученых. В следующих q строках записаны эти пары (в том же формате, что и ребра; запросы могут повторяться, запрос может содержать пару одинаковых вершин).

Выходные данные

Для каждого запроса ученых в отдельной строке выведите «Yes», если между парой людей существует простой нечетный путь, иначе выведите «No».

Примеры
Входные данные
7 7
1 3
1 4
2 3
2 4
5 6
6 7
7 5
8
1 2
1 3
1 4
2 4
1 5
5 6
5 7
6 7
Выходные данные
No
Yes
Yes
Yes
No
Yes
Yes
Yes
Примечание

Пояснение к примеру:

1) Между вершинами 1 и 2 есть всего 2 различных простых пути: 1-3-2 и 1-4-2. Оба состоят из четного количества ребер.

2) Вершины 1 и 3 соединены ребром, поэтому простой нечетный путь для них: 1-3.

5) Вершины 1 и 5 находятся в разных компонентах связности, между ними нет ни одного пути.