#include "bits/stdc++.h"

using namespace std;

typedef vector<int> vi;
typedef pair<int,int> pii;
typedef long long ll;

#define dump(x)  cerr << #x << " = " << (x) << endl
#define rep(i,n) for(ll i=0;i<(ll)(n);i++)
#define all(a)  (a).begin(),(a).end()
#define pb push_back

int cost[200][200];
int tim[200][200];


int main(){
    int n,m;
    while(cin>>n>>m){
        if(n==0&&m==0)break;
        rep(i,200)rep(j,200){
            cost[i][j]=999999999;
            tim[i][j]=999999999;
        }
        rep(i,n){
            int a,b,c,d;
            cin>>a>>b>>c>>d;
            a--,b--;
            cost[a][b]=cost[b][a]=c;
            tim[a][b]=tim[b][a]=d;
        }
        
        rep(k,m){
            rep(i,m){
                rep(j,m){
                    cost[i][j]=min(cost[i][j],cost[i][k]+cost[k][j]);
                    tim[i][j]=min(tim[i][j],tim[i][k]+tim[k][j]);
                }
            }
        }
        int x;
        cin>>x;
        rep(i,x){
            int a,b,c;
            cin>>a>>b>>c;
            a--,b--;
            if(c==0){
                cout<<cost[a][b]<<endl;
            }else cout<<tim[a][b]<<endl;
        }
    }
}