/*
TASK: Y1984
LANG: C++
*/

#include <iostream.h>

int n,m,q;

int mas[1024][1024];
int qu[100][2];
int a[1024];
int used[1024];
int st[1024];

void read()
{
	int i,x,y,z;
	cin>>n>>m;
	for(i=0;i<m;i++)
	{
		cin>>x>>y>>z;
		mas[x][y]=z+1;
		mas[y][x]=z+1;
	}
	cin>>q;
	for(i=0;i<q;i++)
	{
		cin>>qu[i][0]>>qu[i][1];
	}
}

int main()
{
	int r=0,w=1,i,j;
	read();
	for(i=0;i<q;i++)
	{
		st[0]=qu[i][0];
		a[qu[i][0]]=1;
		used[qu[i][0]]=1;
		while(r<w)
		{
			for(j=0;j<n;j++)
			{
				if(mas[st[r]][j]!=0&&used[j]==0)
				{
					st[w]=j;
					used[j]=1;
					w++;
					if(mas[st[r]][j]==1) a[j]=a[st[r]];
					if(mas[st[r]][j]==2&&a[st[r]]==1) a[j]=2;
					if(mas[st[r]][j]==2&&a[st[r]]==2) a[j]=1;
				}
			}
			r++;
		}
		w=1;
		r=0;
		if(a[qu[i][0]]==a[qu[i][1]]&&a[qu[i][0]]!=0) cout<<'0'<<endl;
		if(a[qu[i][0]]!=a[qu[i][1]]&&a[qu[i][0]]!=0&&a[qu[i][1]]!=0) cout<<'1'<<endl;
		if(a[qu[i][0]]==0||a[qu[i][1]]==0) cout<<'2'<<endl;
		for(j=0;j<n;j++)
		{
			used[i]=0;
			st[i]=0;
		}
		for(j=0;j<q;j++)
		{
			qu[i][0]=0;
			qu[i][1]=0;
		}
	}
	return 0;
}