#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int,int> P;
int main(){
  int INF=2000000;
  int i,j,k,n,m,a,b,c,p,q,dp[110][110],dp1[110][110];
  while(1){
  cin >> n >> m;
    if(n==0 && m==0){
      return 0;
    }
  for(i=0;i<m;i++){
    for(j=0;j<m;j++){
      dp[i][j]=INF,dp1[i][j]=INF;
    }
  }
  for(i=0;i<n;i++){
    cin >> p >> q >> a >> b;
    p--,q--;
    dp[p][q]=a;
    dp1[p][q]=b;
    dp[q][p]=a;
    dp1[q][p]=b;
  }
  for(k=0;k<m;k++){
    for(i=0;i<m;i++){
      for(j=0;j<m;j++){
        dp[i][j]=min(dp[i][j],dp[i][k]+dp[k][j]);
        dp1[i][j]=min(dp1[i][j],dp1[i][k]+dp1[k][j]);
      }
    }
  }
  int d;
  cin >> d;
  for(i=0;i<d;i++){
    cin >> a >> b >> c;
    a--,b--;
    if(c==0){
      cout << dp[a][b] << endl;;
    }
    else{
      cout << dp1[a][b] << endl;
    }
  }
  }
  return 0;
}
