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

#include <iostream>

using namespace std;

#define MAX 1024

int A[MAX][MAX], n, m, Q;
int q1[101], q2[101];

void input()
{
    int k, i, j, r;
    
    cin >> n;
    cin >> m;

    for( k = 0; k < m; k++ ) {
         cin >> i >> j >> r;
         A[i][j] = A[j][i] = r + 1;
    }

    cin >> Q;

    for( k = 0; k < Q; k++ ) {
         cin >> i >> j;
         q1[k] = i; q2[k] = j;
    }
}

int main()
{
 int i, j, k;
 input();

 for( k = 0; k < n; k++ )
    for( i = 0; i < n; i++ )
         for( j = 0; j < n; j++ )
            if( ( A[i][k] == 1 ) && ( A[k][j] == 2 ) )
                A[i][j] = 2;
            else if( ( A[i][k] == 2 ) && ( A[k][j] == 1 ) )
                A[i][j] = 2;
            else if( ( A[i][k] == 2 ) && ( A[k][j] == 2 ) )
                A[i][j] = 1;
            else if( ( A[i][k] == 1 ) && ( A[k][j] == 1 ) )
                A[i][j] = 1;

 for( i = 0; i < Q; i++ ) {
    int k = A[q1[i]][q1[j]];
    if( k == 0 ) cout << 2 << "\n";
    else cout << k - 1 << "\n";
 }
 return 0;
}
