#P1829E. The Lakes

The Lakes

Description

给定一个非负整数的n×m网格a。值ai,j表示第i行和第j列的水深。

湖泊是一组单元格,满足以下条件:

  • 集合中的每个单元格都有ai,j>0,并且
  • 湖泊中任意一对单元格之间存在一条路径,可以向上、向下、向左或向右移动若干次,且不会踩在具有ai,j=0的单元格上。

湖泊的容积是湖泊中所有单元格深度的总和。

找出网格中最大湖泊的容积。

简单来说湖泊是许多有水的地方连在一块形成的。

输入

第一行包含一个整数t1t≤104)— 测试用例的数量。

每个测试用例的第一行包含两个整数n,m,(1n,m≤1000)— 网格的行数和列数。

然后是n行,每行包含m个整数ai,j,(0ai,j≤1000)— 每个单元格的水深。

保证所有测试用例中nm的总和不超过10^6。

输出

对于每个测试用例,输出一个整数— 网格中最大湖泊的容积。

5
3 3
1 2 0
3 4 0
0 0 5
1 1
0
3 3
0 1 1
1 0 1
1 1 1
5 5
1 1 1 1 1
1 0 0 0 1
1 0 5 0 1
1 0 0 0 1
1 1 1 1 1
5 5
1 1 1 1 1
1 0 0 0 1
1 1 4 0 1
1 0 0 0 1
1 1 1 1 1
10
0
7
16
21