#include<bits/stdc++.h>
#define int long long
#define N 2010
#define mod 998244353
using namespace std;
int T, id;
int n, m, c, f;
int C, F;
char a[N][N];
int nxt[N][N], down[N][N], sum[N];
signed main() {
cin >> T >> id;
while(T--) {
cin >> n >> m >> c >> f;
C = 0, F = 0;
for(int i = 1; i <= n; i++)
for(int j = 1; j <= m; j++) {
cin >> a[i][j];
nxt[i][j] = 0;
down[i][j] = 0;
}
for(int i = 1; i <= n; i++)
for(int j = m; j >= 1; j--)
if(a[i][j] == '0') nxt[i][j] = nxt[i][j + 1] + 1;
for(int j = 1; j <= m; j++) {
for(int i = n; i >= 1; i--) {
if(a[i][j] == '0') down[i][j] = down[i + 1][j] + 1;
}
}
for(int i = 1; i <= n; i++)
for(int j = 1; j <= m; j++) nxt[i][j]--, down[i][j]--;
for(int j = 1; j <= m; j++) {
for(int i = 1; i <= n; i++) sum[i] = 0;
int last = 0;
for(int i = 1; i <= n; i++) {
if(a[i][j] == '1') {
last = i;
continue;
}
if(i - last >= 3) {
C += nxt[i][j] * sum[i - 2] % mod, C %= mod;
F += nxt[i][j] * sum[i - 2] % mod * down[i][j] % mod, F %= mod;
}
sum[i] = (sum[i - 1] + nxt[i][j]) % mod;
}
}
cout << C * c << " " << F * f << endl;
}
return 0;
}