# 非负最大正方形,如果-1,则为0
t = int(input())
for i in range(t):
n,m = map(int,input().split())
M = []
for k in range(n):
tmpl = list(map(int,input().split()))
M.append(tmpl)
# maximalSquare
def f(m):
# if (not m):
# return 0
m = len(m)
n = len(m[0])
res = 0
dp = [[0] * (n + 1) for _ in range(m + 1)]
for i in range(1, m + 1):
for j in range(1, n + 1):
if (m[i - 1][j - 1]>=0): # 否则是0
dp[i][j] = min(dp[i - 1][j - 1], dp[i - 1][j], dp[i][j - 1]) + 1
tres = sum(m[k][p] for k in range(i-dp[i][j],i) for p in range(j-dp[i][j],j))
res = max(tres, res)
return res
print(f(M))
1
1 2
1 1
1