#include<iostream>
#include<algorithm>
using namespace std;
int main(){
  int n,m;
  while(cin >>n>>m,n||m){
    int ans[100][100][2];
    for(int i=0; i<100; i++)
      for(int j=0; j<100; j++)
	for(int k=0; k<2; k++)
	  ans[i][j][k] = 1e+9;
    for(int i=0,a,b,cost,time; i<n; i++){
      cin >>a>>b>>cost>>time;
      a--;b--;
      ans[a][b][0] = ans[b][a][0] = cost;
      ans[a][b][1] = ans[b][a][1] = time;
    }
    for(int k=0; k<2; k++){
      for(int l=0; l<m; l++){
	for(int i=0; i<m; i++){
	  for(int j=0; j<m; j++){
	    ans[i][j][k] = min(ans[i][j][k],ans[i][l][k]+ans[l][j][k]);
	  }
	}
      }
    }
    int t=0;
    cin >>t;
    while(t--){
      int p,q,r;
      cin >>p>>q>>r;
      cout <<ans[p-1][q-1][r]<<endl;
    }
  }
  return 0;
}