# 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
****************************************************************/