시간 제한
메모리 제한
시간 제한
2초
메모리 제한
128 MB
일요일 아침, 형택이는 여자친구와 가까운 숲을 산책하며 숲속 깊은 곳에 있는 아름다운 꽃을 보러 가려고 한다. 하지만 숲에는 사람들이 버린 쓰레기가 놓여 있다.
형택이는 여자친구가 쓰레기가 있는 칸을 밟는 것을 매우 싫어하고, 쓰레기 바로 옆을 지나는 것도 불편해한다는 사실을 알고 있다.
숲의 지도가 주어진다. S는 데이트를 시작하는 위치, F는 꽃이 있는 위치, g는 쓰레기가 있는 칸, .은 아무것도 없는 깨끗한 칸이다.
두 사람은 S에서 F까지 이동해야 한다. 한 번에 위, 아래, 왼쪽, 오른쪽으로 인접한 한 칸으로 움직일 수 있다. 먼저 지나가는 쓰레기 칸의 수를 최소로 해야 한다. 그런 경로가 여러 개라면, 쓰레기와 변을 공유하는 깨끗한 칸을 지나는 횟수를 최소로 해야 한다. 단, S와 F는 쓰레기 옆을 지나는 깨끗한 칸으로 세지 않는다.
첫째 줄에 숲의 세로 크기 N과 가로 크기 M이 주어진다.
3 <= N, M <= 50
둘째 줄부터 N개의 줄에 숲의 지도가 주어진다. 각 문자는 S, F, g, . 중 하나이다.
S와 F는 각각 정확히 하나씩 주어진다. S는 숲의 가장자리에 있고, F는 가장자리에 있지 않다.
최적의 경로에서 지나가는 쓰레기 칸의 최소 개수와, 그 조건을 만족하는 경로 중 쓰레기와 인접한 깨끗한 칸을 지나는 최소 개수를 공백으로 구분해 출력한다.