#include <bits/stdc++.h>

using namespace std;
const int INF = 1e9;

void Resi(int N, int R, int C, int Q, int** U, int** V, int** W, int* X1, int* Y1, int* X2, int* Y2, int* O)
{
    if(R <= 100 && C <= 100 && Q <= 100)
    {
        int n = N;
        for(int q = 1; q <= Q; q++)
        {
            int mat[N+1][N+1];
            int cost[N+1];
            bool bio[N+1];
            for(int i = 1; i <= n; i++)for(int j = 1; j <= n; j++)mat[i][j]=INF;
            for(int i = 1; i <= n; i++)bio[i]=false;
            for(int i = 1; i <= n; i++)cost[i]=INF;
            for(int x = X1[q]; x <= X2[q]; x++)
            {
                for(int y = Y1[q]; y <= Y2[q]; y++)
                {
                    int u = U[x][y];
                    int v = V[x][y];
                    int w = W[x][y];
                    mat[u][v]=min(mat[u][v],w);
                    mat[v][u]=min(mat[v][u],w);
                }
            }
            cost[1]=0;
            int ans = 0;
            for(int i = 0; i < n; i++)
            {
                int tr=-1;
                for(int j = 1; j <= n; j++)
                {
                    if(bio[j])continue;
                    if(tr==-1||cost[j]<cost[tr])tr=j;
                }
                if(tr==-1)break;
                if(cost[tr]==INF)break;
                ans+=cost[tr];
                bio[tr]=1;
                for(int j = 1; j <= n; j++)
                {
                    if(bio[j])continue;
                    cost[j]=min(cost[j],mat[tr][j]);
                }
            }
            for(int i = 1; i <= n; i++)if(!bio[i])ans=-1;
            O[q]=ans;
        }
    }
}