#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;
int timer=0;
int low[N],num[N],tout[N],dep[N],p[N][20];
bool joint[N];
vector<int> adj[N];
void calc(int n)
{
p[1][0]=1;
for(int j=1;j<=19;j++){
for(int i=1;i<=n;i++){
p[i][j]=p[p[i][j-1]][j-1];
}
}
}
int find_par(int u,int par)
{
for(int i=19;i>=0;i--){
if(dep[p[u][i]]>dep[par]) u=p[u][i];
}
return u;
}
void dfs(int u,int a)
{
int ch=0;
low[u]=num[u]=++timer;
for(int v:adj[u]){
if(v==a) continue;
if(!num[v]){
ch++;
p[v][0]=u;
dep[v]=dep[u]+1;
dfs(v,u);
low[u]=min(low[u],low[v]);
if(u==a){
if(ch>1) joint[u]=1;
}
else{
if(low[v]>=num[u]) joint[u]=1;
}
}
else low[u]=min(low[u],num[v]);
}
tout[u]=timer;
}
bool check_subtree(int u,int r)
{
return num[r]<=num[u]&&num[u]<=tout[r];
}
bool query1(int a,int b,int g1,int g2)
{
if(num[g1]>num[g2]) swap(g1,g2);
if(low[g2]!=num[g2]) return 1;
if(check_subtree(a,g2)&&!check_subtree(b,g2)) return 0;
if(check_subtree(b,g2)&&!check_subtree(a,g2)) return 0;
return 1;
}
bool query2(int a,int b,int c)
{
if(!joint[c]) return 1;
int pa=0,pb=0;
if(check_subtree(a,c)) pa=find_par(a,c);
if(check_subtree(b,c)) pb=find_par(b,c);
if(!pa&&!pb) return 1;
if(pa==pb) return 1;
if(!pa&&low[pb]<num[c]) return 1;
if(!pb&&low[pa]<num[c]) return 1;
if(pa&&pb&&low[pa]<num[c]&&low[pb]<num[c]) return 1;
return 0;
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int n,m;
cin>>n>>m;
for(int a=0;a<m;a++){
int x,y;
cin>>x>>y;
adj[x].push_back(y);
adj[y].push_back(x);
}
dep[1]=1;
dfs(1,1);
calc(n);
int q;
cin>>q;
while(q--){
int type;
cin>>type;
if(type==1){
int a,b,g1,g2;
cin>>a>>b>>g1>>g2;
if(query1(a,b,g1,g2)) cout<<"yes\n";
else cout<<"no\n";
}
else{
int a,b,c;
cin>>a>>b>>c;
if(query2(a,b,c)) cout<<"yes\n";
else cout<<"no\n";
}
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKY29uc3QgaW50IE49MWU1KzU7CmludCB0aW1lcj0wOwppbnQgbG93W05dLG51bVtOXSx0b3V0W05dLGRlcFtOXSxwW05dWzIwXTsKYm9vbCBqb2ludFtOXTsKdmVjdG9yPGludD4gYWRqW05dOwp2b2lkIGNhbGMoaW50IG4pCnsKICAgIHBbMV1bMF09MTsKICAgIGZvcihpbnQgaj0xO2o8PTE5O2orKyl7CiAgICAgICAgZm9yKGludCBpPTE7aTw9bjtpKyspewogICAgICAgICAgICBwW2ldW2pdPXBbcFtpXVtqLTFdXVtqLTFdOwogICAgICAgIH0KICAgIH0KfQppbnQgZmluZF9wYXIoaW50IHUsaW50IHBhcikKewogICAgZm9yKGludCBpPTE5O2k+PTA7aS0tKXsKICAgICAgICBpZihkZXBbcFt1XVtpXV0+ZGVwW3Bhcl0pIHU9cFt1XVtpXTsKICAgIH0KICAgIHJldHVybiB1Owp9CnZvaWQgZGZzKGludCB1LGludCBhKQp7CiAgICBpbnQgY2g9MDsKICAgIGxvd1t1XT1udW1bdV09Kyt0aW1lcjsKICAgIGZvcihpbnQgdjphZGpbdV0pewogICAgICAgIGlmKHY9PWEpIGNvbnRpbnVlOwogICAgICAgIGlmKCFudW1bdl0pewogICAgICAgICAgICBjaCsrOwogICAgICAgICAgICBwW3ZdWzBdPXU7CiAgICAgICAgICAgIGRlcFt2XT1kZXBbdV0rMTsKICAgICAgICAgICAgZGZzKHYsdSk7CiAgICAgICAgICAgIGxvd1t1XT1taW4obG93W3VdLGxvd1t2XSk7CiAgICAgICAgICAgIGlmKHU9PWEpewogICAgICAgICAgICAgICAgaWYoY2g+MSkgam9pbnRbdV09MTsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlewogICAgICAgICAgICAgICAgaWYobG93W3ZdPj1udW1bdV0pIGpvaW50W3VdPTE7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZWxzZSBsb3dbdV09bWluKGxvd1t1XSxudW1bdl0pOwogICAgfQogICAgdG91dFt1XT10aW1lcjsKfQpib29sIGNoZWNrX3N1YnRyZWUoaW50IHUsaW50IHIpCnsKICAgIHJldHVybiBudW1bcl08PW51bVt1XSYmbnVtW3VdPD10b3V0W3JdOwp9CmJvb2wgcXVlcnkxKGludCBhLGludCBiLGludCBnMSxpbnQgZzIpCnsKICAgIGlmKG51bVtnMV0+bnVtW2cyXSkgc3dhcChnMSxnMik7CiAgICBpZihsb3dbZzJdIT1udW1bZzJdKSByZXR1cm4gMTsKICAgIGlmKGNoZWNrX3N1YnRyZWUoYSxnMikmJiFjaGVja19zdWJ0cmVlKGIsZzIpKSByZXR1cm4gMDsKICAgIGlmKGNoZWNrX3N1YnRyZWUoYixnMikmJiFjaGVja19zdWJ0cmVlKGEsZzIpKSByZXR1cm4gMDsKICAgIHJldHVybiAxOwp9CmJvb2wgcXVlcnkyKGludCBhLGludCBiLGludCBjKQp7CiAgICBpZigham9pbnRbY10pIHJldHVybiAxOwogICAgaW50IHBhPTAscGI9MDsKICAgIGlmKGNoZWNrX3N1YnRyZWUoYSxjKSkgcGE9ZmluZF9wYXIoYSxjKTsKICAgIGlmKGNoZWNrX3N1YnRyZWUoYixjKSkgcGI9ZmluZF9wYXIoYixjKTsKICAgIGlmKCFwYSYmIXBiKSByZXR1cm4gMTsKICAgIGlmKHBhPT1wYikgcmV0dXJuIDE7CiAgICBpZighcGEmJmxvd1twYl08bnVtW2NdKSByZXR1cm4gMTsKICAgIGlmKCFwYiYmbG93W3BhXTxudW1bY10pIHJldHVybiAxOwogICAgaWYocGEmJnBiJiZsb3dbcGFdPG51bVtjXSYmbG93W3BiXTxudW1bY10pIHJldHVybiAxOwogICAgcmV0dXJuIDA7Cn0KaW50IG1haW4oKQp7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUoMCk7CiAgICBjb3V0LnRpZSgwKTsKICAgIGludCBuLG07CiAgICBjaW4+Pm4+Pm07CiAgICBmb3IoaW50IGE9MDthPG07YSsrKXsKICAgICAgICBpbnQgeCx5OwogICAgICAgIGNpbj4+eD4+eTsKICAgICAgICBhZGpbeF0ucHVzaF9iYWNrKHkpOwogICAgICAgIGFkalt5XS5wdXNoX2JhY2soeCk7CiAgICB9CiAgICBkZXBbMV09MTsKICAgIGRmcygxLDEpOwogICAgY2FsYyhuKTsKICAgIGludCBxOwogICAgY2luPj5xOwogICAgd2hpbGUocS0tKXsKICAgICAgICBpbnQgdHlwZTsKICAgICAgICBjaW4+PnR5cGU7CiAgICAgICAgaWYodHlwZT09MSl7CiAgICAgICAgICAgIGludCBhLGIsZzEsZzI7CiAgICAgICAgICAgIGNpbj4+YT4+Yj4+ZzE+PmcyOwogICAgICAgICAgICBpZihxdWVyeTEoYSxiLGcxLGcyKSkgY291dDw8Inllc1xuIjsKICAgICAgICAgICAgZWxzZSBjb3V0PDwibm9cbiI7CiAgICAgICAgfQogICAgICAgIGVsc2V7CiAgICAgICAgICAgIGludCBhLGIsYzsKICAgICAgICAgICAgY2luPj5hPj5iPj5jOwogICAgICAgICAgICBpZihxdWVyeTIoYSxiLGMpKSBjb3V0PDwieWVzXG4iOwogICAgICAgICAgICBlbHNlIGNvdXQ8PCJub1xuIjsKICAgICAgICB9CiAgICB9Cn0K