#include "bits/stdc++.h"
#define sz 103
#define MP make_pair
using namespace std;
int dx[8],dy[8];
int r,c,check[sz][sz],tot[sz][sz];
void bfs()
{
queue<int>Q,Q1;
int visit,x,y,u,v,i;
Q.push(0);
Q1.push(0);
check[0][0] = 1;
while(!Q.empty())
{
u = Q.front();
Q.pop();
v = Q1.front();
Q1.pop();
visit = 0;
set< pair<int,int> >sii;
for(i=0;i<8;i++)
{
x = u+dx[i];
y = v+dy[i];
if(x<0||y<0||x>=r||y>=c)
{
continue;
}
if(check[x][y]!=-1 && sii.find(MP(x,y))==sii.end())
{
visit++;
sii.insert(MP(x,y));
}
if(check[x][y]==0)
{
check[x][y] = 1;
Q.push(x);
Q1.push(y);
}
}
tot[u][v] = visit;
}
return ;
}
int main()
{
int tc=0,test,m,n,w,i,j,odd,even,x,y;
scanf("%d",&test);
while(test--)
{
scanf("%d%d%d%d",&r,&c,&m,&n);
scanf("%d",&w);
dx[0] = m,dy[0] = n;
dx[1] = m,dy[1] = -n;
dx[2] = -m,dy[2] = n;
dx[3] = -m,dy[3] = -n;
dx[4] = n,dy[4] = m;
dx[5] = n,dy[5] = -m;
dx[6] = -n,dy[6] = m;
dx[7] = -n,dy[7] = -m;
for(i=1;i<=w;i++)
{
scanf("%d%d",&x,&y);
check[x][y] = -1;
}
bfs();
odd = 0;
even = 0;
if(tot[0][0]==0)
tot[0][0] = 2;
for(i=0;i<r;i++)
{
for(j=0;j<c;j++)
{
if(tot[i][j])
{
if(tot[i][j] & 1)
{
odd++;
}
else
{
even++;
}
}
}
}
printf("Case %d: %d %d\n",++tc,even,odd);
memset(tot,0,sizeof tot);
memset(check,0,sizeof check);
}
return 0;
}