Можно ли добраться от одной вершины к другой в графе?

Вам дан неориентированный граф с v вершинами и e рёбрами.Также имеется q запросов, в каждом из которых нужно проверить, достижимы ли две указанные вершины, то есть можно ли, двигаясь по графу, попасть из одной вершины в другую.

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

Первая строка содержит два целых числа v (1 ≤ v ≤ 1000) и e (1 ≤ e ≤ 1000).

В следующих e строках представлены пары целых чисел v1, v2 (1 ≤ v1, v2 ≤ v), которые указывают, что вершина v1 соединена с вершиной v2, и наоборот.

Затем в отдельной строке задаётся целое число q (1 ≤ q ≤ 100) — количество запросов.

В следующих q строках каждая содержит по два целых числа q1, q2 (1 ≤ q1, q2 ≤ v), которые обозначают вершины, между которыми нужно проверить достижимость.

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

Для каждого запроса выведите Yes, если из вершины q1 действительно можно добраться до вершины q2, и No в противном случае.

Примеры

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

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

7 6
1 2
2 3
1 3
4 5
5 6
4 6
4
1 2
2 5
3 6
4 6

Yes
No
No
Yes

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue