# coding=utf-8
t=int(input())
for i in range(t):
n,m=map(int,input().split())
mg=[]
for i in range(n):
h=[]
hstr=input()
for j in range(m):
h.append(hstr[j])
mg.append(h)
for i in range(n):
for j in range(m):
if mg[i][j]=="S":
x_start,y_start=i,j
dengdai=[[x_start,y_start,0]]
fx=[[0,-1],[0,1],[-1,0],[1,0]]
while dengdai:
x,y,step=dengdai.pop(0)
for x_y in fx:
nx,ny=x+x_y[0],y+x_y[1]
if 0<=nx<n and 0<=ny<m and mg[nx][ny]=="E":
x,y,step=nx,ny,step+1
break
elif 0<=nx<n and 0<=ny<m and mg[nx][ny]=="-":
mg[nx][ny]=step+1
dengdai.append([nx,ny,step+1])
if mg[x][y]=="E":
break
if mg[x][y]=="E":
print(step)
else:
print(-1)
/**************************************************************
Problem: 2125
User: admin
Language: Python
Result: Accepted
Time:129 ms
Memory:34612 kb
****************************************************************/