#include<cstdio>
#include<algorithm>
#include<cstring>

using namespace std;




int main()
{
	while(true)
	{
int timedate[2][105][105];
int n,m;
    memset(timedate,0,sizeof(timedate));
	scanf("%d%d",&n,&m);
	if(n==0&&m==0)break;
	int a, b, cost,time;
	for(int i=0;i<n;i++)
	{
		scanf("%d%d%d%d",&a,&b,&cost,&time);
		timedate[0][a][b]=cost;
		timedate[0][b][a]=cost;
		timedate[1][a][b]=time;
		timedate[1][b][a]=time;
	}
	int k;
	scanf("%d",&k);
	for(int i=0;i<k;i++)
	{
		int p,q,r;
		int date[105];
		int omin=1000000,jmin;
		fill(date,date+100,-1);
		scanf("%d%d%d",&p,&q,&r);
		date[p]=0;
		
			for(int u=1;u<100;u++)
			{
			omin=1000000;
			jmin=0;
		for(int j=1;j<100;j++)
		{
			if(date[j]!=-1)
			{
				for(int o=1;o<101;o++)
				{
					if(timedate[r][j][o]!=0&&o!=-1&&omin>date[j]+timedate[r][j][o]&&date[o]==-1)
					{
						omin=date[j]+timedate[r][j][o];
						jmin=o;
					}
				}
			}
		}
		date[jmin]=omin;
		if(jmin==0)break;
			}
		printf("%d\n",date[q]);
	}
	}
	return 0;
}