#include<bits/stdc++.h>
#define int long long
using namespace std;
const int mod=998244353;
int n,m;
int a[1010][1010];
int pre[1010][1010];
int pre2[1010][1010];
int T,id;
void init(){
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
pre[i][j]=pre2[i][j]=a[i][j]=0;
}
}
}
signed main(){
cin>>T>>id;
while(T--){
int f,c;
cin>>n>>m>>c>>f;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
char c;cin>>c;
a[i][j]=c-'0';
pre[i][j]=pre[i][j-1]+a[i][j];
pre2[j][i]=pre2[j][i-1]+a[i][j];
}
}
int ans=0,num=0;
for(int i=1;i<=m;i++){
int l=1,r=1;
while(l<=n){
if(r==n){
++l;
}
else if(a[r+1][i]==0){
++r;
}
else {
if(r==l){
l+=2,r+=2;continue;
}
l++;
}
if(r-l>=2){
int x=lower_bound(pre[l]+i+1,pre[l]+m+1,pre[l][i]+1)-pre[l];
int y=lower_bound(pre[r]+i+1,pre[r]+m+1,pre[r][i]+1)-pre[r];
int z=lower_bound(pre2[i]+r+1,pre2[i]+n+1,pre2[i][r]+1)-pre2[i];
ans=(ans+(x-i-1)*(y-i-1)%mod)%mod;
num=(num+(x-i-1)*(y-i-1)*(z-r-1)%mod)%mod;
}
}
}
init();
cout<<ans*c<<" "<<num*f<<'\n';
}
return 0;
}