记录
#include<bits/stdc++.h>
using namespace std;
int n,m,c,f;
long long ans=0,sum,mol=998244353,yy[1050][1050];
char cc[1050][1050];
int x[1050][1050],y[1050][1050];
int main(){
int t,id;
cin>>t>>id;
while(t--){
cin>>n>>m>>c>>f;
ans=0,sum=0;
memset(x,0,sizeof(x));
memset(y,0,sizeof(y));
memset(yy,0,sizeof(yy));
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>cc[i][j];
if(cc[i][j]=='1'){
y[j][i]=0;
}
else{
y[j][i]=y[j][i-1]+1;
}
}
}
for(int i=n;i>=1;i--){
for(int j=m;j>=1;j--){
if(cc[i][j]=='1'){
x[i][j]=0;
yy[j][i]=0;
}
else{
x[i][j]=x[i][j+1]+1;
yy[j][i]=yy[j][i+1]+1;
}
}
}
for(int i=1;i<m;i++){
long long e=0,jj;
for(int j=1;j<=n;j++){
if(y[i][j]==0){
e=0;
jj=0;
continue;
}
if(x[j][i+1]==0){
jj=x[j][i+1];
continue;
}
if(y[i][j]>=3){
ans+=(x[j][i+1]*e)%mol;
sum+=(((x[j][i+1]*e)%mol)*yy[i][j+1])%mol;
ans%=mol;
sum%=mol;
ans-=(jj*x[j][i+1])%mol;
sum-=(((x[j][i+1]*jj)%mol)*yy[i][j+1])%mol;
ans%=mol;
sum%=mol;
}
e+=x[j][i+1];
e%=mol;
jj=x[j][i+1];
}
}
cout<<(ans*c)%mol<<' '<<(sum*c)%mol<<endl;
}
return 0;
}