#include<bits/stdc++.h>
using namespace std;
const long long N=1010,MOD=998244353;
long long t,id,n,m,C,F,a[N][N],s[N][N],h[N][N],g[N][N],f[N][N],ansc,ansf;
long long r[N][N],u[N][N];
int main()
{
	freopen("plant.in","r",stdin);
	freopen("plant.out","w",stdout);
	scanf("%lld%lld",&t,&id);
	while(t--)
	{
		scanf("%lld%lld%lld%lld",&n,&m,&C,&F);
		for(int i=1;i<=n;i++)
			for(int j=1;j<=m;j++)
				scanf("%1lld",&a[i][j]);
		memset(r,0,sizeof(r));
		memset(u,0,sizeof(u));
		for(int i=1;i<=n;i++)
		{
			if(!a[i][m]) r[i][m]=m;
			for(int j=m-1;j>=1;j--)
			{
				if(!a[i][j])
				{
					if(!a[i][j+1]) r[i][j]=r[i][j+1];
					else r[i][j]=j;
				}
			}
		}
		for(int i=1;i<=m;i++)
		{
			if(!a[1][i]) u[1][i]=1;
			for(int j=2;j<=n;j++)
			{
				if(!a[j][i])
				{
					if(!a[j-1][i]) u[j][i]=u[j-1][i];
					else u[j][i]=j;
				}
			}
		}
		memset(s,0,sizeof(s));
		for(int i=1;i<=n;i++)
			for(int j=1;j<=m;j++)
				if(!a[i][j]) s[i][j]=s[i][j-1]+1;
					else s[i][j]=s[i][j-1];
		for(int i=1;i<=n;i++)
			for(int j=1;j<=m;j++)
				if(!a[i][j]) h[i][j]=max(0ll,s[i][r[i][j]]-s[i][j]);
		memset(s,0,sizeof(s));
		for(int i=1;i<=n;i++)
			for(int j=1;j<=m;j++)
				s[i][j]=s[i-1][j]+h[i][j];
		for(int i=2;i<=n;i++)
			for(int j=1;j<=m;j++)
				if(!a[i][j]) g[i][j]=max(0ll,(s[i-2][j]-s[u[i][j]-1][j]))*h[i][j];
		ansc=0;
		for(int i=1;i<=n;i++)
			for(int j=1;j<=m;j++)
				ansc=(ansc+g[i][j])%MOD;
		memset(s,0,sizeof(s));
		for(int i=1;i<=n;i++)
			for(int j=1;j<=m;j++)
				s[i][j]=s[i-1][j]+g[i][j];
		for(int i=1;i<=n;i++)
			for(int j=1;j<=m;j++)
				if(!a[i][j]) f[i][j]=max(0ll,s[i-1][j]-s[u[i][j]-1][j]);
		ansf=0;
		for(int i=1;i<=n;i++)
			for(int j=1;j<=m;j++)
				ansf=(ansf+f[i][j])%MOD;
		printf("%lld %lld\n",C*ansc,F*ansf);
	}
	return 0;
}