rt
#include <bits/stdc++.h>
#define int long long
//#define max(A,B) (A<B?B:A)
using namespace std;
int z=0;
char a[1010][1010];
int s[1010][1010];
int t,id,n,m,c,f,ansc,ansf;
int jic,jif;
int mod=998244353;
signed main()
{
cin>>t>>id;
while(t--)
{
memset(s,0,sizeof s);
cin>>n>>m>>c>>f;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
cin>>a[i][j];
}
}
for(int i=1;i<=n;i++)
{
for(int j=m-1;j>=1;j--)
{
if(a[i][j]=='1')
s[i][j]=-1;
else if(a[i][j+1]=='0')
s[i][j]=s[i][j+1]+1;
}
}
for(int j=1;j<m;j++)
{
jic=jif=0;
for(int i=1;i<=n;i++)
{
if(s[i][j]=-1)
{
jic=jif=0;
continue;
}
ansc=ansc%mod+(s[i][j]*(jic%mod))%mod;
ansf=(ansf%mod+jif%mod)%mod;
jif=(jif+(s[i][j]*(jic%mod))%mod)%mod;
jic+=max(z,s[i-1][j]);
}
}
cout<<(ansc*c)%mod<<" "<<(ansf*f)%mod<<endl;
}
return 0;
}