소 베시는 풀을 무척 좋아하고, 저녁 착유 시간에 맞춰 외양간으로 서둘러 가고 싶어 합니다. 목초지는 $R$개의 행($1 \le R \le 100$)과 $C$개의 열($1 \le C \le 100$)로 이루어진 직사각형 격자입니다. 각 칸은 풀밭이거나 바위입니다. 베시는 바위를 먹을 수 없고, 바위 칸에는 들어가지도 않습니다.
베시는 자신이 있는 칸(소를 뜻하는 C로 표시)에서 출발해, 1행 1열에 있는 외양간(B로 표시)까지 가장 짧은 경로로 가려고 합니다. 한 번에 상하좌우로 인접한 (최대 네 개의) 칸 중 하나로 이동할 수 있습니다.
가장 짧은 경로를 따라 걸으면서 베시는 지나가는 모든 칸의 풀을 뜯어 먹습니다. 외양간 칸에는 풀이 없으므로 그 칸에서는 먹지 않지만, 출발 칸의 풀은 먹습니다.
아래 그림은 지도(바위 *, 풀 ., 외양간 B, 5행 6열에 있는 베시 C)와, 그 지도에서 최적 경로를 뜯어 먹은 자국(m)으로 표시한 것을 나란히 보여 줍니다.
Map Optimal Munched Route
1 2 3 4 5 6 <-col 1 2 3 4 5 6 <-col
1 B . . . * . 1 B m m m * .
2 . . * . . . 2 . . * m m m
3 . * * . * . 3 . * * . * m
4 . . * * * . 4 . . * * * m
5 * . . * . C 5 * . . * . m
이 경로에서 베시는 9개의 칸을 뜯어 먹습니다.
지도가 주어질 때, 베시가 외양간까지 가는 가장 짧은 경로에서 뜯어 먹는 풀 칸의 개수를 구하세요.
B, 베시는 C, 풀은 ., 바위는 *로 표시됩니다.