#include<bits/stdc++.h>
#define int long long
#define re register
#define inf 1e18
const int mod=998244853,pow10=1024;
const int sz2=3005;
const int sz=2e6+5;
using namespace std;
int read()
{
char c=getchar();
int r=0,f=1;
while((c<'0'||c>'9')&&c!='-')
c=getchar();
if(c=='-') {
f=-1;
c=getchar();
}
while(c>='0'&&c<='9') {
r=r*10+c-'0';
c=getchar();
}
return f*r;
}
struct node
{
int u,v,w;
}e[sz];
struct node1
{
int fx,fy;
}stk[sz];
struct node2
{
int num,id;
};
int n,m,fa[sz],siz[sz],top,tmp[sz],val[sz],Ans[sz],U[sz],V[sz],sum;
vector <int >ask[sz];
int getfa(int x)
{
if(x!=fa[x]) return getfa(fa[x]);
else return x;
}
bool merge(int x,int y)
{
int fx=getfa(x),fy=getfa(y);
if(fx==fy) return 0;
if(siz[fx]<siz[fy]) swap(fx,fy);
siz[fx]+=siz[fy],fa[fy]=fx;
stk[++top]=((node1){fx,fy});
return 1;
}
void dele()
{
while(top)
{
fa[stk[top].fy]=stk[top].fy,siz[stk[top].fx]-=siz[stk[top].fy];
top--;
}
}
bool cmp(node x,node y)
{
return x.w<y.w;
}
bool cmp1(int x,int y)
{
return val[x]<val[y];
}
bool cmp2(vector<int > x,vector<int > y)
{
return val[x[1]]<val[y[1]];
}
signed main()
{
n=read(),m=read();
for(int i=1;i<=n;i++) fa[i]=i,siz[i]=1;
for(int i=1;i<=m;i++)
{
int u=read(),v=read(),w=read();
e[i]=((node){u,v,w});
val[i]=w,U[i]=u,V[i]=v;
}
sort(e+1,e+1+m,cmp);
int q=read();
for(int i=1;i<=q;i++)
{
Ans[i]=1;
int k=read();
for(int j=1;j<=k;j++) tmp[j]=read();
sort(tmp+1,tmp+1+k,cmp1);
for(int j=1;j<=k;j++)
{
if(val[tmp[j]]!=val[tmp[j-1]]) ask[++sum].push_back(i);
ask[sum].push_back(tmp[j]);
}
}
sort(ask+1,ask+1+sum,cmp2);
int res=1,now=0;
for(int i=1;i<=sum;i++)
{
int fla=0;
for(int j=res;j<=m;j++)
{
if(now==n-1) {
fla=1;
break;
}
if(e[j].w<val[ask[i][1]])
{
int fx=getfa(e[j].u),fy=getfa(e[j].v);
if(fx==fy) continue;
if(siz[fx]<siz[fy]) fa[fx]=fy,siz[fy]+=siz[fx];
else fa[fy]=fx,siz[fx]+=siz[fy];
now++;
}
else {
res=j;
break;
}
}
if(fla) {
Ans[ask[i][0]]&=0;
continue;
}
for(int j=1;j<ask[i].size();j++)
if(!merge(U[ask[i][j]],V[ask[i][j]])) {
fla=1;break;
}
if(fla)
Ans[ask[i][0]]&=0;
dele();
}
for(int i=1;i<=q;i++)
{
if(Ans[i]) puts("YES");
else puts("NO");
}
}