등차 직사각형

아직 제출이 없습니다시간 제한3초메모리 제한128 MB

문제

n×mn \times m개의 단위 정사각형으로 이루어진 격자가 주어진다. 각 단위 정사각형에는 정수가 하나씩 적혀 있다.

이 격자에서 등차 직사각형(arithmetic rectangle)을 찾으려 한다. 등차 직사각형이란 단위 정사각형들로 이루어진 직사각형 중에서, 모든 행과 모든 열의 수가 각각 등차수열을 이루는 것을 말한다. 여기서 등차수열이란 이웃한 두 항의 차가 항상 일정한 수열을 뜻한다.

우리의 목표는 가장 큰 등차 직사각형, 즉 가장 많은 단위 정사각형을 덮는 등차 직사각형을 찾는 것이다. 예를 들어 아래 격자에서 가장 큰 등차 직사각형은 99개의 단위 정사각형으로 이루어져 있다. 단위 정사각형 하나는 그 자체로 등차 직사각형이며, 길이가 22 이하인 행이나 열은 항상 등차수열로 본다.

입력

첫째 줄에 테스트 케이스의 개수 tt (1t100001 \le t \le 10000)가 주어진다.

각 테스트 케이스의 첫째 줄에는 두 정수 nnmm (1n,m30001 \le n, m \le 3000)이 주어진다. 이어지는 nn개의 줄에는 각각 mm개의 정수가 주어지며, 각 정수는 [0,109][0, 10^9] 범위에 있다. 이 수들이 격자를 나타낸다.

하나의 입력 파일 크기는 20 MB를 넘지 않는다.

출력

각 테스트 케이스마다 한 줄에 답을 하나씩, 총 tt개의 줄을 출력한다. 하나의 테스트 케이스에 대한 답은 그 격자에서 찾을 수 있는 가장 큰 등차 직사각형이 포함하는 단위 정사각형의 개수(정수 하나)이다.