수족관
시간 제한3초메모리 제한256 MB
R행 C열 격자의 대각선 벽을 가장 적은 비용으로 허물어 전체를 하나의 구역으로 만듭니다.
문제
수족관을 행 열 격자로 나누고, 칸마다 대각선 벽을 하나씩 끼워 넣었다. 벽은 칸의 왼쪽 아래 모서리와 오른쪽 위 모서리를 잇거나(/), 왼쪽 위 모서리와 오른쪽 아래 모서리를 잇는다(\). 수족관 바깥 테두리는 유리라서 치울 수 없다.
이 벽들이 수족관 내부를 여러 구역으로 나눈다. 벽을 넘지 않고 헤엄쳐 오갈 수 있는 두 지점은 같은 구역에 있다. 두 벽이 한 점에서만 맞닿아도 그 점으로는 지나가지 못한다.
칸마다 그 안에 있는 벽의 강도가 정해져 있고, 벽 하나를 통째로 허무는 데 강도만큼의 힘이 든다. 물고기들이 수족관 내부를 하나의 구역으로 합치려면 힘이 최소 얼마나 필요한지 구하라.
아래 그림은 수족관의 예다. 구역이 네 개이고, 강도가 7, 9, 12인 벽 세 개를 허물면 전체가 한 구역이 된다. 28보다 적은 힘으로는 합칠 수 없다.

입력
첫 줄에 테스트 케이스의 수 가 주어진다. ()
각 테스트 케이스의 첫 줄에는 행의 수 과 열의 수 가 주어진다. ()
이어지는 개 줄에는 벽의 방향이 주어진다. 각 줄은 공백 없는 개의 문자로 이루어지고, 각 문자는 / 또는 \이다.
그다음 개 줄에는 각각 개의 정수가 주어진다. 이 값은 대응하는 칸에 있는 벽의 강도이며, 1 이상 10000 이하다.
출력
각 테스트 케이스마다 Case x: y 꼴로 한 줄씩 출력한다. 는 1부터 시작하는 테스트 케이스 번호이고, 는 수족관 내부를 하나의 구역으로 합치는 데 필요한 힘의 최솟값이다.