#include <bits/stdc++.h>
using namespace std;
int n, m, q;
vector<int> v[100100];
int dept[100100];
int par[100100][22];
int dsu_par[100100];
bool tag[100100];
int root[100100];
int get_par(int now) {
  return dsu_par[now] = (dsu_par[now] == now) ? now : get_par(dsu_par[now]);
}
void dfs1(int now) {
  for (int i = 0; i < 20; i++) par[now][i + 1] = par[par[now][i]][i];
  for (int i = 0; i < (int)v[now].size(); i++) {
    if (dept[v[now][i]] < 0) {
      root[v[now][i]] = root[now];
      par[v[now][i]][0] = now;
      dept[v[now][i]] = dept[now] + 1;
      dfs1(v[now][i]);
      if (get_par(now) == get_par(v[now][i]) && tag[v[now][i]]) tag[now] = 1;
    } else if (dept[v[now][i]] < dept[now] - 1) {
      if ((dept[now] - dept[v[now][i]]) % 2 == 0) tag[now] = 1;
      int pos = get_par(now);
      while (get_par(pos) != get_par(v[now][i]) && par[pos][0] != v[now][i]) {
        dsu_par[get_par(pos)] = get_par(par[pos][0]);
        pos = get_par(pos);
      }
    }
  }
}
int sum[100100];
void dfs2(int now) {
  sum[now] = sum[par[now][0]] + tag[now];
  for (int i = 0; i < (int)v[now].size(); i++) {
    if (dept[v[now][i]] == dept[now] + 1) {
      if (get_par(v[now][i]) == get_par(now) && tag[now]) tag[v[now][i]] = 1;
      dfs2(v[now][i]);
    }
  }
}
int lca(int a, int b) {
  if (dept[a] > dept[b]) swap(a, b);
  for (int i = 19; i >= 0; i--)
    if (dept[par[b][i]] >= dept[a]) b = par[b][i];
  for (int i = 19; i >= 0; i--)
    if (par[b][i] != par[a][i]) b = par[b][i], a = par[a][i];
  if (a == b) return a;
  return par[a][0];
}
int main() {
  ios::sync_with_stdio(false);
  cin >> n >> m;
  for (int i = 0; i < n; i++) dsu_par[i] = i;
  for (int i = 0; i < m; i++) {
    int a, b;
    cin >> a >> b;
    a--, b--;
    v[a].push_back(b);
    v[b].push_back(a);
  }
  memset(dept, -1, sizeof(dept));
  for (int i = 0; i < n; i++)
    if (dept[i] < 0) {
      root[i] = i;
      dept[i] = 0;
      for (int j = 0; j < 20; j++) par[i][j] = i;
      dfs1(i), dfs2(i);
    }
  cin >> q;
  for (int i = 0; i < q; i++) {
    int a, b;
    cin >> a >> b;
    a--, b--;
    int now_lca = lca(a, b);
    if (root[a] == root[b] &&
        ((dept[a] + dept[b]) % 2 == 1 ||
         sum[a] + sum[b] - sum[now_lca] - sum[now_lca] > 0))
      cout << "Yes" << endl;
    else
      cout << "No" << endl;
  }
  return 0;
}
