{
TASK: Y1984
LANG: PASCAL
}
program y1984;
var ag1,ag2,qag1,qag2,r,qr,lag1,lag2:array[0..1024]of integer;
    i,j,a,b,x,c,y,q,n,m,br,kr:integer;
begin
    readln(n);
    readln(m);
    for i:=1 to m do
        readln(ag1[i],ag2[i],r[i]);
    readln(q);
    for i:=1 to q do
       readln(qag1[i],qag2[i]);
    b:=0;
    br:=1;
    kr:=1;
    for j:=1 to q do
       for i:=1 to m do
          if r[i]=0 then
          begin
             lag1[br]:=ag1[i];
             br:=br+1;
             lag1[br]:=ag2[i];
          break;
          end;
    for a:=1 to q do
    begin
    for i:=1 to m do
       for j:=1 to br do
          if (ag1[i]=lag1[j])and(r[i]=1) then
          begin
             lag2[kr]:=ag2[i];
             kr:=kr+1;
          end
          else
          if (ag2[i]=lag1[j])and(r[i]=1) then
          begin
             lag2[kr]:=ag1[i];
             kr:=kr+1;
          end;
    for i:=1 to br do
       if (qag1[a]=lag1[i]) then
          for j:=1 to br do
          if (qag2[a]=lag1[j]) then
          b:=0;
    if b=1 then
       for i:=1 to kr do
          if (qag1[a]=lag2[i])and(qag2[a]=lag2[i]) then
             b:=0
          else
             b:=1;
    writeln(b);
    end;
    {for i:=1 to m do
       writeln(ag1[i],' ',ag2[i],' ',r[i]);
    writeln;
    for i:=1 to br do
       write(lag1[i]:3);
    writeln;
    for i:=1 to kr do
       write(lag2[i]:3);
    }
    readln;
end.