#include<stdio.h>
int main(void){
	int i,j,k,n,m,a,b,cost[100][100],time[100][100],p,q,r;
	scanf("%d%d",&n,&m);
	while(n!=0 || m!=0){
		for(i=0; i<m; i++){
			for(j=0; j<m; j++){
				cost[i][j]=(i==j)?0:100001;
				time[i][j]=(i==j)?0:100001;
			}
		}
		for(i=0; i<n; i++){
			scanf("%d%d",&a,&b);
			scanf("%d%d",&cost[a-1][b-1],&time[a-1][b-1]);
			cost[b-1][a-1]=cost[a-1][b-1];
			time[b-1][a-1]=time[a-1][b-1];
		}
		for(i=0; i<m; i++){
			for(j=i; j<m; j++){
				for(k=i; k<m; k++){
					cost[i][j]=(cost[i][j]>cost[i][k]+cost[k][j])?(cost[i][k]+cost[k][j]):cost[i][j];
					cost[j][i]=cost[i][j];
					time[i][j]=(time[i][j]>time[i][k]+time[k][j])?(time[i][k]+time[k][j]):time[i][j];
					time[j][i]=time[i][j];
				}
			}
		}
		scanf("%d",&k);
		for(i=0; i<k; i++){
			scanf("%d%d%d",&p,&q,&r);
			printf("%d\n",(r==0)?cost[p-1][q-1]:time[p-1][q-1]);
		}
		scanf("%d%d",&n,&m);
	}
	return 0;
}