카리브해 깊은 곳에 직사각형 모양의 섬이 있다. 이 섬은 n×m 격자로 나뉘어 있으며, 각 칸에는 미터 단위의 고정된 높이가 있다.
해수면은 계속 높아진다. i년째의 해수면은 정확히 i미터이다. 섬은 스펀지로 이루어져 있어 물이 자유롭게 스며들기 때문에, 어떤 칸의 높이가 현재 해수면 이하이면 그 칸은 잠긴 것으로 본다. 잠기지 않은 칸들 중 변을 맞대고 인접한 칸들은 하나의 잠기지 않은 영역(연결된 구역)을 이룬다.
여러 해에 대해, 섬에 잠기지 않은 영역이 몇 개인지 구하여라.
아래 그림은 4×5 섬을 나타낸다. 숫자는 각 칸의 높이(미터)이고, 잠기지 않은 칸은 더 진하게 표시되어 있다. 1년째에는 잠기지 않은 영역이 2개, 2년째에는 3개이다.
| 1년째 | 2년째 |
|---|---|
![]() | ![]() |
첫 번째 줄에 테스트 케이스의 수 Z (Z≤20)가 주어진다. 각 테스트 케이스는 다음과 같이 주어진다.
첫 번째 줄에 섬의 크기를 나타내는 두 정수 n과 m (1≤n,m≤1000)이 주어진다. 이어지는 n개의 줄에는 각각 m개의 정수가 주어지며, 이는 각 칸의 높이로 [1,109] 범위의 값이다. 다음 줄에는 정수 T (1≤T≤105)가 주어진다. 마지막 줄에는 0≤t1≤t2≤⋯≤tT≤109을 만족하는 T개의 정수 t1,t2,…,tT가 주어진다. 이는 질의할 해수면(연도)이다.
각 테스트 케이스마다, 공백으로 구분된 T개의 정수 r1,r2,…,rT를 한 줄에 출력한다. 여기서 rj는 해수면이 tj일 때 잠기지 않은 영역의 개수이다.