#include <cstdio>
#include <algorithm>
using namespace std;
#define rep(i,n)for(int i=0;i<n;i++)
int n,m,a,b,cost,time,k,p,q,r;
int c[100][100];
int t[100][100];
int main() {
	while(scanf("%d %d",&n,&m),n) {
		fill(c[0],c[0]+100*100,1<<27);
		fill(t[0],t[0]+100*100,1<<27);
		rep(i,n) {
			scanf("%d %d %d %d",&a,&b,&cost,&time);
			a--;b--;
			c[a][b]=c[b][a]=cost;
			t[a][b]=t[b][a]=time;
		}
		rep(k,m)rep(i,m)rep(j,m) {
			c[i][j]=min(c[i][j],c[i][k]+c[k][j]);
			t[i][j]=min(t[i][j],t[i][k]+t[k][j]);
		}
		scanf("%d",&k);
		rep(i,k) {
			scanf("%d %d %d",&p,&q,&r);
			p--;q--;
			if(r)printf("%d\n",t[p][q]);
			else printf("%d\n",c[p][q]);
		}
	}
}