#include <bits/stdc++.h>
#define LL long long
using namespace std;
const LL mod=1e9+7;
const int maxn=1e6+10;
#define lowbit(x) (x&(-x))
struct BIT
{
LL**a;int n,m;
BIT(){a=0;n=m=-1;}
BIT(int n,int m):n(n),m(m)
{
a=new LL*[n+1];
for(int i=0;i<=n;i++)a[i]=new LL[m+1]();
}
~BIT(){
for(int i=0;i<=n;i++) free(a[i]);
if(a!=0)free(a);
}
void add(int x,int y,int v)
{
if(x<=n&&x>=1&&y<=m&&y>=1)
a[x][y]+=v;
}
void sum()
{
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
a[i][j]+=a[i-1][j]+a[i][j-1]-a[i-1][j-1];
}
};
inline 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 main()
{
#ifdef shuaishuai
freopen("in.txt","r",stdin);
#endif // shuaishuai
int n,m,k;
scanf("%d%d%d",&n,&m,&k);
BIT t(n,m);
vector<int>id(n*m+1);
srand(time(NULL));
for(int i=1,sz=n*m;i<=sz;i++)
{
id[i]=1000007+rand()*rand()+rand();
}
vector<int>a[n+1];
for(int i=1;i<=n;i++)
{
a[i].resize(m+1);
for(int j=1;j<=m;j++)
a[i][j]=id[read()];
}
while(k--)
{
int x1,y1,x2,y2,v;
x1=read(),y1=read(),x2=read(),y2=read(),v=id[read()];
t.add(x1,y1,v);t.add(x2+1,y1,-v);t.add(x1,y2+1,-v);t.add(x2+1,y2+1,v);
}
t.sum();
int ans=0;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
{//判断是否会死的关键是对于该点施肥种类的累计和应被该花对应化肥种类值整除 所以随机1e6以上的数能高概率不能整除
if(t.a[i][j]%a[i][j]!=0)ans++;
}
printf("%d\n",ans);
return 0;
}