Bảo Huy là chú ếch đẹp trai nhất đầm sen ITK19. Đầm sen này được chia thành một bảng ô vuông gồm \(M\) hàng (đánh số từ trên xuống dưới) và \(N\) cột (đánh số từ trái qua phải). Ta quy ước ô nằm ở giao điểm của hàng \(i\) và cột \(j\) là ô \((i, j)\). Một số ô trong đầm có chứa một lá sen nổi (ký hiệu o
) để Huy có thể nhảy lên, các ô còn lại có 100% bề mặt là nước (ký hiệu là .
). Huy cần nhảy từ ô có ký tự S
đến ô có ký tự T
(hai ô này đều mặc định chứa một lá sen) theo quy tắc: ở mỗi bước anh chỉ có thể nhảy từ ô hiện tại đến một ô chứa lá sen trên cùng hàng hoặc cùng cột. muốn bỏ đi một số lá sen trong đầm (trừ hai lá tại S
và T
) để Huy không còn có thể nhảy từ S
đến T
nữa. Các bạn hãy lập trình giúp xác định số lá sen ít nhất cần bỏ đi nhé!
Input
Dòng đầu hai số nguyên dương \(M\) và \(N\) \((2\leq M, N\leq 100)\).
\(M\) dòng sau, mỗi dòng chứa \(N\) ký tự mô tả đầm sen.
Ouput
Một số nguyên là số lượng lá sen ít nhất cần bỏ để Huy không thể nhảy từ S
đến T
. Nếu không tìm được phương án thỏa mãn thì in ra \(-1\).
Ví dụ
Sample input 1
3 3
S.o
.o.
o.T
Sample output 1
2
Giải thích
cần bỏ đi lá sen ở góc trên bên phải và góc dưới bên trái.
Sample input 2
3 4
S...
.oo.
...T
Sample output 2
0
Sample input 3
4 3
.S.
.o.
.o.
.T.
Sample output 3
-1
Sample input 4
10 10
.o...o..o.
....o.....
....oo.oo.
..oooo..o.
....oo....
..o..o....
o..o....So
o....T....
....o.....
........oo
Sample output 4
5