#include <bits/stdc++.h>
using namespace std;
const int maxn = 5e5 + 5;
const int inf = 0x3f3f3f3f;
int n, m, q;
long long bit[5050][5050];
void add(int x, int y, long long data) {
  for (int i = x; i < n + 10; i += ((i) & -(i))) {
    for (int j = y; j < m + 10; j += ((j) & -(j))) {
      bit[i][j] += data;
    }
  }
}
long long sum(int x, int y) {
  long long ans = 0;
  for (int i = x; i; i -= ((i) & -(i))) {
    for (int j = y; j; j -= ((j) & -(j))) {
      ans += bit[i][j];
    }
  }
  return ans;
}
void update(int x1, int y1, int x2, int y2, long long data) {
  add(x1, y1, data);
  add(x1, y2 + 1, -data);
  add(x2 + 1, y1, -data);
  add(x2 + 1, y2 + 1, data);
}
int main() {
  srand(114514);
  cin >> n >> m >> q;
  while (q--) {
    int t, l1, r1, l2, r2;
    cin >> t >> l1 >> r1 >> l2 >> r2;
    if (t == 1) {
      unsigned long long qaq =
          l1 * 99244353 + r1 * 1000000007 + l2 * 234233433 + r2 * 973897704;
      update(l1, r1, l2, r2, qaq);
    } else if (t == 2) {
      unsigned long long qaq =
          l1 * 99244353 + r1 * 1000000007 + l2 * 234233433 + r2 * 973897704;
      update(l1, r1, l2, r2, -qaq);
    } else {
      if (sum(l1, r1) == sum(l2, r2))
        cout << "Yes\n";
      else
        cout << "No\n";
    }
  }
  return 0;
}
