#include <cstdio>
#include <algorithm>
using namespace std;
int cost[100][100],Time[100][100];
int n,m;
int main() {
	while(scanf("%d %d",&n,&m),n) {
		for(int i=0;i<m;i++) {
			for(int j=0;j<m;j++)  {
				if(i!=j)cost[i][j]=Time[i][j]=1<<27;
				else cost[i][j]=Time[i][j]=0;
			}
		}
		int a,b;
		for(int 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(int k=0;k<m;k++) {
			for(int i=0;i<m;i++) {
				for(int j=0;j<m;j++) {
					cost[i][j]=min(cost[i][j],cost[i][k]+cost[k][j]);
					Time[i][j]=min(Time[i][j],Time[i][k]+Time[k][j]);
				}
			}
		}
		int k,p,q,r;
		scanf("%d",&k);
		for(int i=0;i<k;i++) {
			scanf("%d %d %d",&p,&q,&r);
			if(r)printf("%d\n",Time[p-1][q-1]);
			else printf("%d\n",cost[p-1][q-1]);
		}
	}
}