#include <bits/stdc++.h>
using namespace std;
int n, m;
int k;
bool debug = false;
int f[100005], cid[100005], cc, deep[100005], par[100005], lca[18][100005],
    D[100005];
bool mark[100005], col[100005], spec[100005], S[100005];
int ff(int x) { return x == f[x] ? x : f[x] = ff(f[x]); }
vector<int> mp[100005];
void dfs(int i, int p, int d) {
  cid[i] = cc;
  col[i] = col[p] ^ 1;
  deep[i] = d;
  par[i] = p;
  for (auto child : mp[i]) {
    if (!cid[child]) {
      dfs(child, i, d + 1);
    } else {
      int tmp = deep[child] + 1;
      for (int j = i; deep[j] > tmp; j = ff(j)) {
        f[ff(j)] = ff(par[j]);
      }
    }
  }
}
void dd(int i, int p) {
  mark[i] = 1;
  D[i] += spec[i];
  lca[0][i] = p;
  for (int j = 1; j < 18; j++) {
    lca[j][i] = lca[j - 1][lca[j - 1][i]];
  }
  for (auto child : mp[i])
    if (!mark[child]) {
      D[child] = D[i];
      dd(child, i);
    }
}
int find(int u, int v) {
  if (deep[u] < deep[v]) swap(u, v);
  int dif = deep[u] - deep[v];
  for (int k = 0; k < 18; k++) {
    if (dif >> k & 1) u = lca[k][u];
  }
  if (u == v) return v;
  for (int k = 17; k >= 0; k--)
    if (lca[k][u] != lca[k][v]) {
      u = lca[k][u];
      v = lca[k][v];
    }
  return lca[0][u];
}
int main() {
  int q, u, v;
  scanf("%d%d", &n, &m);
  for (int i = 1; i <= n; i++) f[i] = i;
  for (int i = 0; i < m; i++) {
    scanf("%d%d", &u, &v);
    mp[u].push_back(v);
    mp[v].push_back(u);
  }
  for (int i = 1; i <= n; i++)
    if (!cid[i]) {
      cc++;
      dfs(i, 0, 1);
    }
  for (int i = 1; i <= n; i++)
    for (auto child : mp[i]) {
      if (col[child] == col[i]) {
        S[ff(deep[child] > deep[i] ? child : i)] = 1;
      }
    }
  for (int i = 1; i <= n; i++)
    if (S[ff(i)]) {
      spec[i] = 1;
    }
  for (int i = 1; i <= n; i++)
    if (!mark[i]) {
      dd(i, 0);
    }
  scanf("%d", &q);
  while (q--) {
    scanf("%d%d", &u, &v);
    if (u == v || cid[u] != cid[v])
      puts("No");
    else if (col[u] != col[v])
      puts("Yes");
    else {
      int pa = find(u, v);
      int ans = D[u] + D[v] - 2 * D[pa];
      puts(ans ? "Yes" : "No");
    }
  }
  return 0;
}
