#include<bits/stdc++.h>
using namespace std;
bool mp[1005][1005];
int len[1005][1005];
long long ansc=0,ansf=0;
int main(){
    freopen("plant.in","r",stdin);
    freopen("plant.out","w",stdout);
    int t,id;
    cin>>t>>id;
    while(t--){
        int n,m,c,f;
        cin>>n>>m>>c>>f;
        for(int i=1;i<=n;i++){
            string s;
            cin>>s;
            for(int j=1;j<=m;j++){
                bool awsl=(s[j-1]-'0');
                mp[i][j]=!awsl;
            }
        }
        for(int i=1;i<=m;i++){
            for(int j=n;j>=1;j--){
                if(mp[j][i]){
                    len[j][i]+=len[j+1][i]+1;
                }
            }
        }
        for(int i=1;i<m;i++){
            long long lenx=0,lenxx=0,haha=0,heihei=0,xixi=0,ii=i+1;
            for(int j=1;j<=n;j++){
            if(len[j][i]==0){
                heihei=0;
                lenxx=0;
                continue;
            }
            while(mp[j][ii]&&ii<=m){
                lenx++;
                ii++;
            }
            haha+=(heihei*lenx)%998244353;
            haha%=998244353;
            xixi+=(heihei*lenx*max(0,len[j][i]-1))%998244353;
            xixi%=998244353;
            heihei+=lenxx;
            lenxx=lenx;
            lenx=0;
            ii=i+1;
            if(len[j][i]==1)heihei=0;
            }
            ansc+=haha;
            ansc%=998244353;
            ansf+=xixi;
            ansf%=998244353;
        }
        cout<<ansc*c<<" "<<ansf*f<<endl;
    }
    return 0;
}
