#include <iostream>
#include <algorithm>
using namespace std;
int main(){
	int d[2][101][101];
	int n,m;
	while(cin>>n>>m,n,m){
	for(int i=1;i<=m;i++)for(int j=i;j<=m;j++)for(int k=0;k<2;k++)d[k][i][j]=999999999;
	for(int i=0;i<n;i++){
		int a,b,c,t;
		cin>>a>>b>>c>>t;
		d[0][a][b]=d[0][b][a]=c;
		d[1][a][b]=d[1][b][a]=t;
	}
	for(int k=1;k<=m;k++){
		for(int i=1;i<=m;i++){
			for(int j=1;j<=m;j++){
				d[0][i][j]=min(d[0][i][j],d[0][i][k]+d[0][k][j]);
				d[1][i][j]=min(d[1][i][j],d[1][i][k]+d[1][k][j]);
			}
		}
	}
	int kl;
	cin>>kl;
	for(int i=0;i<kl;i++){
		int p,q,r;
		cin>>p>>q>>r;
		cout<<d[r][p][q]<<endl;
	}
	}
}