#include <bits/stdc++.h>
using namespace std;
int a[105][105];
int dino[105][105];
bool wake[105][105];
int main(){
int r,c,d,k;
cin>>r>>c>>d>>k;
for (int i = 0; i < 105; i++) {
fill(a[i], a[i] + 105, d);}
memset(dino,0,sizeof(dino));
int row,col;
while(k--){
cin>>row>>col;
wake[row][col]=true;
dino[row][col]++;
}
int event,hit_r,hit_c,lng,depth;
cin>>event;
while(event--){
cin>>hit_r>>hit_c>>lng>>depth;
bool dizzy=false;
for(int i=hit_r-lng/2;i<=hit_r+lng/2;i++){
if(i<0||i>=r)continue;
for(int j=hit_c-lng/2;j<=hit_c+lng/2;j++){
if(j<0||j>=c)continue;
if(wake[i][j]){dizzy=true;break;}
}
}
if(dizzy){
for(int i=hit_r-lng/2;i<=hit_r+lng/2;i++){
if(i<0||i>=r)continue;
for(int j=hit_c-lng/2;j<=hit_c+lng/2;j++){
if(j<0||j>=c)continue;
wake[i][j]=false;
}}}
else {
for(int i=hit_r-lng/2;i<=hit_r+lng/2;i++){
if(i<0||i>=r)continue;
for(int j=hit_c-lng/2;j<=hit_c+lng/2;j++){
if(j<0||j>=c)continue;
a[i][j]-=depth;
}}
}
}
int maxi=-1e9,mini=1e9,total=0;
for(int i=0;i<r;i++){
for(int j=0;j<c;j++){
if(a[i][j]>maxi)maxi=a[i][j];
if(a[i][j]<mini)mini=a[i][j];
if (wake[i][j]) total += dino[i][j];
}
}
cout<<maxi<<" "<<mini<<" "<<total<<endl;
return 0;
}