#include <iostream>
#include <cstdio>
#include <algorithm>

using namespace std;

const int INF=100000;

int main(void){
  int time[101][101];
  int cost[101][101];
  int a,b,c,d;
  int n,m;
  int p,q,r;
  int k;
  int i,j,l;
  while(true){
    cin>>n>>m;
    if(n==0&&m==0)return(0);
    for(i=0;i<101;i++){
      for(j=0;j<101;j++){
	time[i][j]=INF;
	cost[i][j]=INF;
      }
    }

    for(i=0;i<n;i++){
      cin>>a>>b>>c>>d;
      cost[a][b]=cost[b][a]=c;
      time[a][b]=time[b][a]=d;
    }
    for(i=1;i<m+1;i++){
      for(j=1;j<m+1;j++){
	for(l=1;l<m+1;l++){
	  cost[j][l]=min(cost[j][l],cost[j][i]+cost[i][l]);
	  time[j][l]=min(time[j][l],time[j][i]+time[i][l]);
	}
      }
    }

    cin>>k;
    for(i=0;i<k;i++){
      cin>>p>>q>>r;
      if(r==0){
	cout<<cost[p][q]<<endl;
      }
      else if(r==1){
	cout<<time[p][q]<<endl;;
      }
    }
  }
}