#include <bits/stdc++.h>
using namespace std;
char a[1005][1005];
int b[1005];
int m,n,c,f;
int C(){
long long ans=0;
for(int i=1;i<=n-2;i++){
for(int j=1;j<=m-1;j++){
if(a[i][j]=='1') continue;
int rj=j,xi=i;
while(rj<m and a[i][rj+1]=='0') rj++;
while(xi<n and a[xi+1][j]=='0') xi++;
int cnt=0;
for(int l=i+2;l<=xi;l++){
int k=j;
for(;k<m and a[l][k+1]=='0';) k++;
ans+=(rj-j)*(k-j);
ans%=(998244353*c);
}
}
}
return ans;
}
int F(){
long long ans=0;
for(int i=1;i<=n-2;i++){
for(int j=1;j<=m-1;j++){
if(a[i][j]=='1') continue;
int rj=j,xi=i;
while(rj<m and a[i][rj+1]=='0') rj++;
while(xi<n and a[xi+1][j]=='0') xi++;
int cnt=0;
for(int l=i+2;l<xi;l++){
int k=j;
for(;k<m and a[l][k+1]=='0';) k++;
ans+=(rj-j)*(k-j)*(xi-l);
}
ans%=(998244353*f);
}
}
return ans;
}
int main()
{
int t,id;
cin>>t>>id;
while(t--){
cin>>n>>m>>c>>f;
for(int i=1;i<=n;i++)
cin>>a[i]+1;
if(c==0 and f==0) printf("0 0") ;
cout<<C()<<' '<<F()<<endl;
}
return 0;
}