#include <iostream>
#include <fstream>
#include <ctime>
#include <cstdlib>
using namespace std;
ifstream fin("aib.in");
ofstream fout("aib.out");
int n,m,q,a[2600][2600],cod,v[2600][2600];
void upd(int pozi,int pozj,int val)
{
int i,j;
for(i=pozi;i<=n;i+=i&(-i))
{
for(j=pozj;j<=m;j+=j&(-j))
{
a[i][j]+=val;
}
}
}
int que(int pozi,int pozj)
{
int i,j,s=0;
for(i=pozi;i>=1;i-=i&(-i))
{
for(j=pozj;j>=1;j-=j&(-j))
{
s=s+a[i][j];
}
}
return s;
}
int main()
{
int val,r1,c1,r2,c2,rmin,cmin,rmax,cmax,i,j;
cin>>n>>m>>q;
srand(time(NULL));
for(i=1; i<=q; i++)
{
cin>>cod>>r1>>c1>>r2>>c2;
if(cod==1)
{
rmin=min(r1,r2);
rmax=r1+r2-rmin;
cmin=min(c1,c2);
cmax=c1+c2-cmin;
val=rand()*rand();
v[rmin][cmin]=val;
upd(rmin,cmin,val);
upd(rmin,cmax+1,-val);
upd(rmax+1,cmin,-val);
upd(rmax+1,cmax+1,val);
}
else
{
if(cod==2)
{
rmin=min(r1,r2);
rmax=r1+r2-rmin;
cmin=min(c1,c2);
cmax=c1+c2-cmin;
val=v[rmin][cmin];
upd(rmin,cmin,-val);
upd(rmin,cmax+1,val);
upd(rmax+1,cmin,val);
upd(rmax+1,cmax+1,-val);
}
else
{
if(que(r1,c1)==que(r2,c2))
cout<<"Yes\n";
else
cout<<"No\n";
}
}
}
}