#include<bits/stdc++.h>
using namespace std;
int T,id,n,m,vc=0;
int mod=998244353;
char a[1010][1010];
bool c_ok_y(int x,int y1,int y2)
{
	for(int i=y1;i<=y2;i++)
	{
		if(a[x][i]!='0')return false;
	}
	return true;
}
bool c_ok_x(int y,int x1,int x2)
{
	for(int i=x1;i<=x2;i++)
	{
		if(a[i][y]!='0')return false;
	}
	return true;
}
void dfsc()
{
	for(int x1=1;x1<=n;x1++)
	{
	for(int y0=1;y0<=m;y0++)
	{
			for(int i=2;i<=n-x1;i++)
			for(int j=1;j<=m-y0;j++)
			for(int k=1;k<=m-y0;k++)
			{
				int x2=x1+i;
				int y1=y0+j;
				int y2=y0+k;
			    if(c_ok_y(x1,y0,y1)==1&&c_ok_y(x1,y0,y2)==1&&c_ok_x(y0,x1,x2)==1)
				vc++;
			}
	}
	}
}
int main()
{
	freopen("plant.in","r",stdin);
	freopen("plant.out","w",stdout);
	ios::sync_with_stdio(false);
	cin>>T>>id;
	while(T--)
	{
		int n,m,c,f,vc=0,vf=0;
		cin>>n>>m>>c>>f;
		if(id==1)
		{
			cout<<0<<' '<<0<<endl;
		}
		else
		{
		for(int i=1;i<=n;i++)
		{
			for(int j=1;j<=m;j++)
			{
				cin>>a[i][j];	
			}
		}	
		dfsc;
		if(id==15)
		{
			cout<<vc%mod<<' '<<0<<endl;
		}
		else
		{
			cout<<vc%mod<<' '<<vf%mod<<endl;
		}
		}
	}
	fclose(stdin);
	fclose(stdout);
	return 0;
}