#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll N=1e5+1e4,M=1e3+1e2;
const ll Mod=998244353;
ll t;
ll id;
ll n,m,c,f;
ll a[M][M];
ll hang[M][M];
ll lie[M][M];
char ch;
ll hou[M][M];
ll shang[M][M];
ll xia[M][M];
signed main()
{
cin>>t>>id;
while(t--)
{
memset(hang,0,sizeof hang);
memset(lie,0,sizeof lie);
memset(hou,0,sizeof hou);
memset(shang,0,sizeof shang);
memset(xia,0,sizeof xia);
cin>>n>>m>>c>>f;
ll ansc=0,ansf=0;
for(ll i=1;i<=n;i++)
for(ll j=1;j<=m;j++)
{
cin>>ch;
a[i][j]=1-(ch^48);
}
for(ll i=1;i<=n;i++)
for(ll j=1;j<=m;j++)
hang[i][j]=hang[i][j]+a[i][j];
for(ll i=1;i<=m;i++)
for(ll j=1;j<=n;j++)
lie[j][i]=lie[j-1][i]+a[i][j];
for(ll i=1;i<=n;i++)
for(ll j=m;j>=1;j--)
if(a[i][j]==1)hou[i][j]=hou[i][j+1]+1;
for(ll i=1;i<=m;i++)
for(ll j=2;j<=n;j++)
if(a[j-2][i]==1&&a[j-1][i]==1&&a[j][i]==1)shang[j][i]=shang[j-1][i]+hou[j-2][i]-1;
for(ll i=1;i<=m;i++)
for(ll j=n;j>=1;j--)
if(a[j][i]==1)xia[j][i]=xia[j+1][i]+1;
for(ll i=1;i<=n;i++)
for(ll j=1;j<=m;j++)
if(a[i][j]==1)ansc+=(shang[i][j]%Mod)*((hou[i][j]-1)%Mod),ansc%=Mod,ansf+=(shang[i][j]%Mod)*((hou[i][j]-1)%Mod)*((xia[i][j]-1)%Mod);
cout<<ansc*c<<" "<<ansf*f<<"\n";
}
}