/*
TASK: Y1984
LANG: C++
*/
#include<iostream>
using namespace std;
int s[1025][1025],v[1025],p=1,n;
void check(int i)
{
 int j;
 for(j=0;j<n;j++)
 if(s[i][j]!=0&&v[j]==0)
 {
  if(s[i][j]==2)v[j]=p+1-(v[i]-p);
  else v[j]=v[i];
  check(j);
 }
}
int main(void)
{
 int m,q,i,j,a,b;
 cin>>n>>m;
 for(i=0;i<m;i++)
 {
  cin>>a>>b;
  cin>>s[a][b];
  s[a][b]++;
  s[b][a]=s[a][b];
 }
 for(i=0;i<n;i++)
 {
  if(v[i]==0){v[i]=p;check(i);p+=3;};
 }
 cin>>q;
 for(i=0;i<q;i++)
 {
  cin>>a>>b;
  if(v[a]-v[b]==0)cout<<"0\n";
  else if(v[a]-v[b]==1||v[a]-v[b]==-1)cout<<"1\n";
  else cout<<"2\n";
 }
 return 0;
}

