{
TASK: Y1984
LANG: FREE PASCAL
}

var Vr:array[0..1024,0..1024] of byte;
    a,b,r,x,y:integer;
    n,m,i,j,q:integer;

procedure way(xx,zz:integer);
var pom,i:integer;
begin
     if xx=y
        then writeln(zz)
        else begin
             for i:=0 to n-1 do begin
                 if (vr[xx,i]<>2)
                    then begin
                         pom:=vr[xx,i]; vr[xx,i]:=2; vr[i,xx]:=2;
                         if pom=1
                            then way(i,abs(zz-1))
                            else way(i,zz);
                         vr[xx,i]:=pom; vr[i,xx]:=pom;
                    end;
             end;

        end;
end;

begin
     readln(n);
     readln(m);
     for i:=0 to n-1 do
         for j:=0 to n-1 do Vr[i,j]:=2;

     for i:=1 to m do begin
         readln(a,b,r);
         Vr[a,b]:=r;
         Vr[b,a]:=r;
     end;

     readln(q);
     for i:=1 to q do begin
         readln(x,y);
         way(x,0);
     end;
end.
