Statement
쿠옹이는 2차원 격자판 위에서 골프 퍼팅을 연습하고 있다. 공이 홀이 있는 칸으로 이동하면 공이 홀에 들어간다.
쿠옹이는 상하좌우 중 원하는 방향으로 퍼팅할 수 있다. 쿠옹이는 퍼팅을 아주 잘 하기 때문에 이동하는 경로에 벽이 없다면 원하는 만큼 한번에 직선으로 공을 이동시킬 수 있다.
격자판의 초기 상태가 주어질 때 공을 홀에 넣기 위해 퍼팅을 적어도 몇 번 해야 할지 구하라.
Input
첫째 줄에 격자판의 행 개수 , 열 개수 이 공백으로 구분되어 주어진다.
둘째 줄부터 개의 줄에 걸쳐 격자의 상태를 나타내는 문자열이 주어진다.
행 열은 번째 줄의 번째 문자가 #라면 벽, .라면 빈칸, S라면 공이 있는 칸, T라면 홀이 있는 칸임을 의미한다.
S, T는 정확히 하나씩 주어지며 격자의 바깥 테두리는 항상 \t{#}이다.
Output
공을 홀에 넣기 위해 필요한 최소 퍼팅 수를 출력한다. 어떤 방법으로도 공을 홀에 넣을 수 없다면 -1을 대신 출력한다.
Subtasks
Samples
예제 1
입력
6 7
#######
#.....#
#...T.#
#.S...#
#.....#
#######
출력
2
예제 2
입력
6 7
#######
#.....#
#.###.#
#...#.#
#S#..T#
#######
출력
3
예제 3
입력
5 5
#####
##.T#
#.#.#
#S.##
#####
출력
-1