#include <bits/stdc++.h>
using namespace std;
const int maxn = 2555;
int n, m, q;
int c[maxn][maxn];
int get(int x) { return x & (-x); }
void update(int x, int y, int z) {
  for (int i = x; i < maxn; i += get(i))
    for (int j = y; j < maxn; j += get(j)) c[i][j] += z;
}
int sum(int x, int y) {
  int ans = 0;
  for (int i = x; i > 0; i -= get(i))
    for (int j = y; j > 0; j -= get(j)) ans += c[i][j];
  return ans;
}
int main() {
  memset(c, 0, sizeof(c));
  cin >> n >> m >> q;
  map<pair<int, int>, map<pair<int, int>, int> > mp;
  while (q--) {
    int t, a, b, c, d;
    scanf("%d%d%d%d%d", &t, &a, &b, &c, &d);
    if (t == 1) {
      mp[make_pair(a, b)][make_pair(c, d)] = q;
      update(a, b, q);
      update(a, d + 1, -q);
      update(c + 1, b, -q);
      update(c + 1, d + 1, q);
    } else if (t == 2) {
      int tt = mp[make_pair(a, b)][make_pair(c, d)];
      update(a, b, -tt);
      update(a, d + 1, tt);
      update(c + 1, b, tt);
      update(c + 1, d + 1, -tt);
    } else {
      int ans1 = sum(a, b);
      int ans2 = sum(c, d);
      if (ans1 == ans2)
        printf("Yes\n");
      else
        printf("No\n");
    }
  }
  return 0;
}
