#include<iostream>
#include<stdio.h>
#include<math.h>
#include<iomanip>
#include<string>
#include<algorithm>
#include <cstdlib>
#include<stdlib.h>
#include<sstream>
#include<stack>
#include <climits>
using namespace std;
long long a[1007][1007];
long long b[1000006];
long long getXorSum(long long* begin, long long* end)
{
long long ret = 0;
for (long long* it = begin; it != end; ++it)
ret ^= *it;
return ret;
}
int main()
{
long long t;
cin >> t;
long long n, m, q;
long long u, v, x, y;
long long count = 0;
for (long long i = 0; i < t; i++)
{
cin >> n >> m >> q;
for (long long j = 1; j <= n; j++)
{
for (long long k = 1; k <= m; k++)
{
cin>>a[j][k];
}
}
for (long long j = 1; j <= q; j++)
{
cin >> u >> v >> x >> y;
count = 0;
for (long long k = u; k <= x; k++)
{
for (long long l = v; l <= y; l++)
{
count = count + a[k][l];
}
}
b[j-1] = count%(int)pow(2,64);
}
cout<<getXorSum(b,b+q)<<"\n";
}
return 0;
}