//#pragma GCC optimize("Ofast,unroll-loops")
//#pragma GCC target("avx2,tune=native")
#include <bits/stdc++.h>
using namespace std;
#define file "o"
#define ff(i, a, b) for(auto i=(a); i<=(b); ++i)
#define ffr(i, b, a) for(auto i=(b); i>=(a); --i)
#define nl "\n"
#define ss " "
#define pb emplace_back
#define fi first
#define se second
#define sz(s) (int)s.size()
#define all(s) (s).begin(), (s).end()
#define ms(a,x) memset(a, x, sizeof (a))
#define cn continue
#define re exit(0)
typedef long long ll;
typedef unsigned long long ull;
typedef long double ld;
typedef vector<int> vi;
typedef vector<ll> vll;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
typedef vector<pii> vpii;
typedef vector<pll> vpll;
mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());
ll ran(ll l, ll r)
{
return uniform_int_distribution<ll> (l, r)(rng);
}
inline void rf()
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr); cout.tie(nullptr);
if(fopen(file".inp","r"))
{
freopen(file".inp","r",stdin);
freopen(file".out","w",stdout);
}
}
const int mod=998244353;
const int maxn=3e5+15;
const ll inf=5e16;
template<typename T> inline void add(T &x, const T &y)
{
x+=y;
if(x>=mod) x-=mod;
if(x<0) x+=mod;
}
template<typename T> inline bool maxi(T &a, T b)
{
if(a>=b) return 0;
a=b; return 1;
}
template<typename T> inline bool mini(T &a, T b)
{
if(a<=b) return 0;
a=b; return 1;
}
struct Node
{
unsigned char k;
unsigned char u[101];
unsigned char v[101];
};
struct DSU
{
int p[105], sz[105], comps;
void init(int n)
{
comps=n;
ff(i,1,n) p[i]=i, sz[i]=1;
}
int findp(int x)
{
if(p[x]==x) return x;
return p[x]=findp(p[x]);
}
bool unite(int a,int b)
{
a=findp(a); b=findp(b);
if(a==b) return 0;
if(sz[a]<sz[b]) swap(a,b);
p[b]=a;
sz[a]+=sz[b];
--comps;
return 1;
}
};
int n,m,q;
unsigned char ex[100005], ey[100005];
Node st[400005];
Node mergeNode(const Node &A, const Node &B)
{
DSU d;
d.init(n);
Node res;
res.k=0;
ff(i,0,(int)A.k-1)
{
if(d.unite(A.u[i],A.v[i]))
{
res.u[(int)res.k]=A.u[i];
res.v[(int)res.k]=A.v[i];
++res.k;
}
}
ff(i,0,(int)B.k-1)
{
if(d.unite(B.u[i],B.v[i]))
{
res.u[(int)res.k]=B.u[i];
res.v[(int)res.k]=B.v[i];
++res.k;
}
}
return res;
}
void build(int id,int l,int r)
{
if(l==r)
{
st[id].k=1;
st[id].u[0]=ex[l];
st[id].v[0]=ey[l];
return;
}
int mid=(l+r)>>1;
build(id<<1,l,mid);
build(id<<1|1,mid+1,r);
st[id]=mergeNode(st[id<<1],st[id<<1|1]);
}
void getNodes(int id,int l,int r,int u,int v, vector<int> &vec)
{
if(u>r || v<l) return;
if(u<=l && r<=v)
{
vec.pb(id);
return;
}
int mid=(l+r)>>1;
getNodes(id<<1,l,mid,u,v,vec);
getNodes(id<<1|1,mid+1,r,u,v,vec);
}
signed main()
{
rf();
cin>>n>>m;
ff(i,1,m)
{
int x,y;
cin>>x>>y;
ex[i]=(unsigned char)x;
ey[i]=(unsigned char)y;
}
build(1,1,m);
cin>>q;
while(q--)
{
int l,r;
cin>>l>>r;
vector<int> nodes;
nodes.reserve(32);
getNodes(1,1,m,l,r,nodes);
DSU d;
d.init(n);
for(int id:nodes)
{
Node &cur=st[id];
ff(i,0,(int)cur.k-1)
d.unite(cur.u[i],cur.v[i]);
}
if(d.comps==1) cout<<"Yes"<<nl;
else cout<<"No"<<nl;
}
}
Ly8jcHJhZ21hIEdDQyBvcHRpbWl6ZSgiT2Zhc3QsdW5yb2xsLWxvb3BzIikKLy8jcHJhZ21hIEdDQyB0YXJnZXQoImF2eDIsdHVuZT1uYXRpdmUiKQojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCiNkZWZpbmUgZmlsZSAibyIKI2RlZmluZSBmZihpLCBhLCBiKSBmb3IoYXV0byBpPShhKTsgaTw9KGIpOyArK2kpCiNkZWZpbmUgZmZyKGksIGIsIGEpIGZvcihhdXRvIGk9KGIpOyBpPj0oYSk7IC0taSkKI2RlZmluZSBubCAiXG4iCiNkZWZpbmUgc3MgIiAiCiNkZWZpbmUgcGIgZW1wbGFjZV9iYWNrCiNkZWZpbmUgZmkgZmlyc3QKI2RlZmluZSBzZSBzZWNvbmQKI2RlZmluZSBzeihzKSAoaW50KXMuc2l6ZSgpCiNkZWZpbmUgYWxsKHMpIChzKS5iZWdpbigpLCAocykuZW5kKCkKI2RlZmluZSBtcyhhLHgpIG1lbXNldChhLCB4LCBzaXplb2YgKGEpKQojZGVmaW5lIGNuIGNvbnRpbnVlCiNkZWZpbmUgcmUgZXhpdCgwKQoKdHlwZWRlZiBsb25nIGxvbmcgbGw7CnR5cGVkZWYgdW5zaWduZWQgbG9uZyBsb25nIHVsbDsKdHlwZWRlZiBsb25nIGRvdWJsZSBsZDsKdHlwZWRlZiB2ZWN0b3I8aW50PiB2aTsKdHlwZWRlZiB2ZWN0b3I8bGw+IHZsbDsKdHlwZWRlZiBwYWlyPGludCwgaW50PiBwaWk7CnR5cGVkZWYgcGFpcjxsbCwgbGw+IHBsbDsKdHlwZWRlZiB2ZWN0b3I8cGlpPiB2cGlpOwp0eXBlZGVmIHZlY3RvcjxwbGw+IHZwbGw7CgptdDE5OTM3XzY0IHJuZyhjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCkudGltZV9zaW5jZV9lcG9jaCgpLmNvdW50KCkpOwpsbCByYW4obGwgbCwgbGwgcikKewogICAgcmV0dXJuIHVuaWZvcm1faW50X2Rpc3RyaWJ1dGlvbjxsbD4gKGwsIHIpKHJuZyk7Cn0KCmlubGluZSB2b2lkIHJmKCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKG51bGxwdHIpOyBjb3V0LnRpZShudWxscHRyKTsKICAgIGlmKGZvcGVuKGZpbGUiLmlucCIsInIiKSkKICAgIHsKICAgICAgICBmcmVvcGVuKGZpbGUiLmlucCIsInIiLHN0ZGluKTsKICAgICAgICBmcmVvcGVuKGZpbGUiLm91dCIsInciLHN0ZG91dCk7CiAgICB9Cn0KCmNvbnN0IGludCBtb2Q9OTk4MjQ0MzUzOwpjb25zdCBpbnQgbWF4bj0zZTUrMTU7CmNvbnN0IGxsIGluZj01ZTE2OwoKdGVtcGxhdGU8dHlwZW5hbWUgVD4gaW5saW5lIHZvaWQgYWRkKFQgJngsIGNvbnN0IFQgJnkpCnsKICAgIHgrPXk7CiAgICBpZih4Pj1tb2QpIHgtPW1vZDsKICAgIGlmKHg8MCkgeCs9bW9kOwp9Cgp0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBpbmxpbmUgYm9vbCBtYXhpKFQgJmEsIFQgYikKewogICAgaWYoYT49YikgcmV0dXJuIDA7CiAgICBhPWI7IHJldHVybiAxOwp9Cgp0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBpbmxpbmUgYm9vbCBtaW5pKFQgJmEsIFQgYikKewogICAgaWYoYTw9YikgcmV0dXJuIDA7CiAgICBhPWI7IHJldHVybiAxOwp9CgpzdHJ1Y3QgTm9kZQp7CiAgICB1bnNpZ25lZCBjaGFyIGs7CiAgICB1bnNpZ25lZCBjaGFyIHVbMTAxXTsKICAgIHVuc2lnbmVkIGNoYXIgdlsxMDFdOwp9OwoKc3RydWN0IERTVQp7CiAgICBpbnQgcFsxMDVdLCBzelsxMDVdLCBjb21wczsKICAgIHZvaWQgaW5pdChpbnQgbikKICAgIHsKICAgICAgICBjb21wcz1uOwogICAgICAgIGZmKGksMSxuKSBwW2ldPWksIHN6W2ldPTE7CiAgICB9CiAgICBpbnQgZmluZHAoaW50IHgpCiAgICB7CiAgICAgICAgaWYocFt4XT09eCkgcmV0dXJuIHg7CiAgICAgICAgcmV0dXJuIHBbeF09ZmluZHAocFt4XSk7CiAgICB9CiAgICBib29sIHVuaXRlKGludCBhLGludCBiKQogICAgewogICAgICAgIGE9ZmluZHAoYSk7IGI9ZmluZHAoYik7CiAgICAgICAgaWYoYT09YikgcmV0dXJuIDA7CiAgICAgICAgaWYoc3pbYV08c3pbYl0pIHN3YXAoYSxiKTsKICAgICAgICBwW2JdPWE7CiAgICAgICAgc3pbYV0rPXN6W2JdOwogICAgICAgIC0tY29tcHM7CiAgICAgICAgcmV0dXJuIDE7CiAgICB9Cn07CgppbnQgbixtLHE7CnVuc2lnbmVkIGNoYXIgZXhbMTAwMDA1XSwgZXlbMTAwMDA1XTsKTm9kZSBzdFs0MDAwMDVdOwoKTm9kZSBtZXJnZU5vZGUoY29uc3QgTm9kZSAmQSwgY29uc3QgTm9kZSAmQikKewogICAgRFNVIGQ7CiAgICBkLmluaXQobik7CiAgICBOb2RlIHJlczsKICAgIHJlcy5rPTA7CiAgICBmZihpLDAsKGludClBLmstMSkKICAgIHsKICAgICAgICBpZihkLnVuaXRlKEEudVtpXSxBLnZbaV0pKQogICAgICAgIHsKICAgICAgICAgICAgcmVzLnVbKGludClyZXMua109QS51W2ldOwogICAgICAgICAgICByZXMudlsoaW50KXJlcy5rXT1BLnZbaV07CiAgICAgICAgICAgICsrcmVzLms7CiAgICAgICAgfQogICAgfQogICAgZmYoaSwwLChpbnQpQi5rLTEpCiAgICB7CiAgICAgICAgaWYoZC51bml0ZShCLnVbaV0sQi52W2ldKSkKICAgICAgICB7CiAgICAgICAgICAgIHJlcy51WyhpbnQpcmVzLmtdPUIudVtpXTsKICAgICAgICAgICAgcmVzLnZbKGludClyZXMua109Qi52W2ldOwogICAgICAgICAgICArK3Jlcy5rOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiByZXM7Cn0KCnZvaWQgYnVpbGQoaW50IGlkLGludCBsLGludCByKQp7CiAgICBpZihsPT1yKQogICAgewogICAgICAgIHN0W2lkXS5rPTE7CiAgICAgICAgc3RbaWRdLnVbMF09ZXhbbF07CiAgICAgICAgc3RbaWRdLnZbMF09ZXlbbF07CiAgICAgICAgcmV0dXJuOwogICAgfQogICAgaW50IG1pZD0obCtyKT4+MTsKICAgIGJ1aWxkKGlkPDwxLGwsbWlkKTsKICAgIGJ1aWxkKGlkPDwxfDEsbWlkKzEscik7CiAgICBzdFtpZF09bWVyZ2VOb2RlKHN0W2lkPDwxXSxzdFtpZDw8MXwxXSk7Cn0KCnZvaWQgZ2V0Tm9kZXMoaW50IGlkLGludCBsLGludCByLGludCB1LGludCB2LCB2ZWN0b3I8aW50PiAmdmVjKQp7CiAgICBpZih1PnIgfHwgdjxsKSByZXR1cm47CiAgICBpZih1PD1sICYmIHI8PXYpCiAgICB7CiAgICAgICAgdmVjLnBiKGlkKTsKICAgICAgICByZXR1cm47CiAgICB9CiAgICBpbnQgbWlkPShsK3IpPj4xOwogICAgZ2V0Tm9kZXMoaWQ8PDEsbCxtaWQsdSx2LHZlYyk7CiAgICBnZXROb2RlcyhpZDw8MXwxLG1pZCsxLHIsdSx2LHZlYyk7Cn0KCnNpZ25lZCBtYWluKCkKewogICAgcmYoKTsKICAgIGNpbj4+bj4+bTsKICAgIGZmKGksMSxtKQogICAgewogICAgICAgIGludCB4LHk7CiAgICAgICAgY2luPj54Pj55OwogICAgICAgIGV4W2ldPSh1bnNpZ25lZCBjaGFyKXg7CiAgICAgICAgZXlbaV09KHVuc2lnbmVkIGNoYXIpeTsKICAgIH0KICAgIGJ1aWxkKDEsMSxtKTsKICAgIGNpbj4+cTsKICAgIHdoaWxlKHEtLSkKICAgIHsKICAgICAgICBpbnQgbCxyOwogICAgICAgIGNpbj4+bD4+cjsKICAgICAgICB2ZWN0b3I8aW50PiBub2RlczsKICAgICAgICBub2Rlcy5yZXNlcnZlKDMyKTsKICAgICAgICBnZXROb2RlcygxLDEsbSxsLHIsbm9kZXMpOwogICAgICAgIERTVSBkOwogICAgICAgIGQuaW5pdChuKTsKICAgICAgICBmb3IoaW50IGlkOm5vZGVzKQogICAgICAgIHsKICAgICAgICAgICAgTm9kZSAmY3VyPXN0W2lkXTsKICAgICAgICAgICAgZmYoaSwwLChpbnQpY3VyLmstMSkKICAgICAgICAgICAgICAgIGQudW5pdGUoY3VyLnVbaV0sY3VyLnZbaV0pOwogICAgICAgIH0KICAgICAgICBpZihkLmNvbXBzPT0xKSBjb3V0PDwiWWVzIjw8bmw7CiAgICAgICAgZWxzZSBjb3V0PDwiTm8iPDxubDsKICAgIH0KfQo=