#include<iostream>
#include<algorithm>
using namespace std;
int main(){
long n,m,a,b,c,d0[101][101],d1[101][101],t,p,q,r,i,j,k;
while(cin>>n>>m,n*n+m*m){
for(i=1;i<=m;i++)
for(j=1;j<=m;j++)d0[i][j]=d1[i][j]=3000000;
for(i=1;i<=m;i++)d0[i][i]=d1[i][i]=0;
for(i=0;i<n;i++){
cin>>a>>b>>c>>t;
d0[a][b]=d0[b][a]=c;
d1[a][b]=d1[b][a]=t;
}
for(k=1;k<=m;k++)
for(i=1;i<=m;i++)
for(j=1;j<=m;j++){
d0[i][j]=min(d0[i][j],d0[i][k]+d0[k][j]);
d1[i][j]=min(d1[i][j],d1[i][k]+d1[k][j]);
}
cin>>k;
for(i=0;i<k;i++){
cin>>p>>q>>r;
if(r==0)cout<<d0[p][q]<<endl;
else cout<<d1[p][q]<<endl;
}
}
return 0;
}