#include <stdio.h>
#include <string.h>

int main(){
	int n, k, i, j, sl, stack[100][2], m, max, nn;
	char map[1000][1000], str[1000];
	
	scanf("%d", &n);
	
	gets(str);
	
	for(k=0; k<n; k++){
		gets(str);
		i = 0;
		gets(map[i]);
		sl = strlen(map[i]);
		i++;
		while(i!=sl){
			gets(map[i]);
			i++;
		}
		
		for( i=0; i<sl; i++){
			for( j=0; j<sl; j++){
				map[j][i]-='0';
				if(j && map[j][i])map[j][i]=map[j-1][i]+1;
			}
		}
		
		stack[0][0]=0;
		stack[0][1]=0;
		m = 0;
		max = 0;
		for( i=sl-1; i>=0; i--){
			for( j=0; j<sl; j++){
				nn = -1;
				while(map[i][j]<stack[m][1]){
					if((j-stack[m][0])*stack[m][1]>max) max = (j-stack[m][0])*stack[m][1];
					if(nn<0) nn = stack[m][0];
					else if( nn>stack[m][0]) nn = stack[m][0];
					m--;
				}
				if(map[i][j]>stack[m][1]){
					m++;
					stack[m][1]=map[i][j];
					if(nn<0)stack[m][0]=j;
					else stack[m][0] = nn;
				}
			}
			while(m){
				if((sl-stack[m][0])*stack[m][1]>max) max = (sl-stack[m][0])*stack[m][1];
				m--;
			}
		}
		if(k)printf("\n");
		printf("%d\n", max);
	}
	
	return 0;
}
