#include <iostream>
#include <cstdio>
#define mod 998244353
using namespace std;
typedef long long lli;
char a[10010][10010];
lli shu[10010][10010];
lli heng[10010][10010];
lli n,m;
bool ff[10010][10010];
lli check_m(lli i,lli j)
{
if(a[i][j]=='0'&&j<=m+1)
{
heng[i][j]=check_m(i,j+1)+1;
return heng[i][j];
}
else{heng[i][j]=0;return -1;}
}
lli check_n(lli i,lli j)
{
if(a[i][j]=='0'&&i<=n)
{
if(heng[i][j]==-1)
{
heng[i][j]=check_m(i,j+1)+1;
}
shu[i][j]=check_n(i+1,j)+1;
return shu[i][j];
}
else{shu[i][j]=0;return -1;}
}
int main()
{
lli T,id,t,c,f,i,j,vc,vf,k,s_h,s_hh,sh,s_qh;
cin>>T>>id;
for(t=0;t<T;t++)
{
vc=0;vf=0;
cin>>n>>m>>c>>f;
for(i=1;i<=n;i++)
{
for(j=1;j<=m+1;j++)
{
a[i][j]=getchar();
shu[i][j]=-1;
heng[i][j]=-1;
ff[i][j]=0;
}
}
for(j=2;j<=m+1;j++)
{
for(i=1;i<=n;i++)
{
if(shu[i][j]==-1)
{
if(a[i][j]=='1'){shu[i][j]=0;continue;}
shu[i][j]=check_n(i+1,j)+1;
if(shu[i][j]<=1){continue;}
if(heng[i][j]==-1)
{
heng[i][j]=check_m(i,j+1)+1;
}
s_h=heng[i][j];s_hh=heng[i][j]*heng[i][j];s_qh=0;
ff[i][j]=1;
for(k=1;k<=shu[i][j];k++)
{
s_h=(s_h+heng[i+k][j])%mod;
s_hh=(s_hh+(heng[i+k][j]*heng[i+k][j])%mod)%mod;
sh=(shu[i+k][j]*heng[i+k][j])%mod;
s_qh=(s_qh+(heng[i+k][j]*heng[i-1+k][j])%mod)%mod;
if(k>=2){vf=(vf+((s_h-heng[i+k][j]-heng[i+k-1][j])*sh)%mod)%mod;}
ff[i+k][j]=1;
}
vc=(vc+((s_h*s_h)%mod-s_hh)/2-s_qh)%mod;
}
else
{
if(ff==0)
{
s_h=heng[i][j];s_hh=heng[i][j]*heng[i][j];s_qh=0;
ff[i][j]=1;
for(k=1;k<=shu[i][j];k++)
{
s_h=(s_h+heng[i+k][j])%mod;
s_hh=(s_hh+(heng[i+k][j]*heng[i+k][j])%mod)%mod;
sh=(shu[i+k][j]*heng[i+k][j])%mod;
s_qh=(s_qh+(heng[i+k][j]*heng[i-1+k][j])%mod)%mod;
if(k>=2){vf=(vf+((s_h-heng[i+k][j]-heng[i+k-1][j])*sh)%mod)%mod;}
ff[i+k][j]=1;
}
vc=(vc+((s_h*s_h)%mod-s_hh)/2-s_qh)%mod;
}
}
}
}
cout<<vc*c<<" "<<vf*f<<endl;
}
return 0;
}