대회 장소 준비

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

문제

지역 프로그래밍 대회가 열리기 전, 현장 담당관과 자원봉사자는 아주 바쁘다. 그 일 중 하나가 대회장의 테이블을 배치해서 인접한 두 테이블에는 서로 다른 학교의 팀이 앉게 만드는 것이다.

손으로 하기에는 번거로운 일이라 보통 프로그램에 맡긴다. 올해는 심사위원단이 이 일을 맡았다. 배치를 끝낸 뒤 심사위원단은 이 좌석 배치 문제가 대회 문제로 쓸 만하다고 생각했고, 그중 일부를 이렇게 출제했다.

심사위원단의 프로그램은 단순하게 동작한다. 먼저 좌석을 임의로 배치한다. 그다음 인접한 두 좌석에 같은 학교의 팀이 앉은 곳이 있는지 확인한다. 그런 곳이 있으면 이 배치로 이득을 보는 학교, 즉 같은 학교의 두 팀이 인접한 좌석에 앉은 학교가 몇 개인지 센다.

대회장은 NN개의 행과 MM개의 열로 이루어진 표로 나타낸다. 각 칸에는 팀 하나가 앉거나 아무도 앉지 않는다. 한 팀에 인접한 팀은 최대 8개다. 좌석이 표의 가장자리에 있거나 주변에 빈 칸이 있으면 인접한 팀이 8개보다 적다.

예를 들어 다음 배치에서 점은 빈 좌석이다.

A B C
D E F
G H .

팀 E는 A, B, C, D, F, G, H와 인접하므로 인접한 팀이 7개다. 팀 A는 B, D, E와 인접하므로 3개다.

입력

첫 줄에 테스트 케이스의 수 TT가 주어진다. (1T1001 \le T \le 100)

각 테스트 케이스의 첫 줄에 대회장의 행 수 NN과 열 수 MM이 주어진다. (1N,M1001 \le N, M \le 100)

이어지는 NN개의 줄에는 줄마다 MM개의 정수가 주어진다. ii번째 줄의 jj번째 수는 iijj열 좌석에 앉은 팀의 학교 번호이며 1 이상 100 이하다. 이 수가 1-1이면 그 좌석은 비어 있다.

출력

각 테스트 케이스마다 같은 학교의 두 팀이 인접한 좌석에 앉은 학교의 수를 한 줄에 출력한다.