#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define LL long long #define INF 0x3f3f3f3f #define MOD 1000000007 #define eps 1e-6 #define MAXN 1050 #define MAXM 100 #define dd {cout<<"debug"<= l; i --) #define doe(i, x) for(i = 1; i <= x; i ++) int n, m, q; LL f[MAXN][MAXN]; LL lowbit(LL x) { return x & (-x); } void modify(int x, int y, LL d) { for(LL i = x; i <= n; i += lowbit(i)) for(LL j = y; j <= m; j += lowbit(j)) f[i][j] ^= d; } LL sum(int x, int y) { LL ans = 0; for(LL i = x; i > 0; i -= lowbit(i)) for(LL j = y; j > 0; j -= lowbit(j)) ans ^= f[i][j]; return ans; } int main() { int T; LL ans; scanf("%d", &T); while(T --) { memset(f, 0, sizeof(f)); scanf("%d %d %d", &n, &m, &q); for(int i = 1; i <= n; i ++) for(int j = 1; j <= m; j ++) { LL x; scanf("%I64d", &x); modify(i, j, x); } int x1, y1, x2, y2; LL d; int op; for(int i = 0; i < q; i ++) { scanf("%d", &op); if(op == 1) { scanf("%d %d %d %d", &x1, &y1, &x2, &y2); printf(sum(x2, y2) ^ sum(x1 - 1,y1 - 1) ^ sum(x2, y1 - 1) ^ sum(x1 - 1, y2)? "Yes\n" : "No\n"); } else if(op == 2) { scanf("%d %d %I64d", &x1, &y1, &d); ans = 0; ans = sum(x1, y1) ^ sum(x1 - 1,y1) ^ sum(x1, y1 - 1) ^ sum(x1 - 1, y1 - 1); modify(x1, y1, ans ^ d); } } } return 0; }