#include<iostream>
#include<cstdio>
#define int long long
using namespace std;
int n,m,tr[100010][2],q,fl[100010][2];
int read(){
int x=0,f=1;char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
return x*f;
}
int lob(int x){return x&(-x);}
int upd(int x,int y,int c0,int c1){
for(int i=x;i<=n;i+=lob(i))tr[i][0]+=c0;
for(int i=y;i<=m;i+=lob(i))tr[i][1]+=c1;
}
int qry(int p,int f){
int ans=0;
for(int i=p;i>=1;i-=lob(i))ans+=tr[i][f];
return ans;
}
signed main(){
n=read(),m=read(),q=read();
for(int i=1;i<=n;i++)fl[i][0]=1,fl[i][1]=1;
while(q--){
int op=read();
if(op==1){
int x=read(),y=read();
upd(x,y,fl[x][0],fl[y][1]);
fl[x][0]=-fl[x][0],fl[y][1]=-fl[y][1];
}
if(op==2){
int x1=read(),y1_=read(),x2=read(),y2=read();
int x=qry(x2,0)-qry(x1-1,0);
int y=qry(y2,1)-qry(y1_-1,1);
int ans=x*(y2-y1_+1ll)+y*(x2-x1+1ll)-2ll*x*y;
cout<<ans<<"\n";
}
}
return 0;
}