importsysfromcollectionsimportdequeinput=sys.stdin.readlinedefbfs(x,y):visited=[[False]*Mfor_inrange(N)]visited[x][y]=1queue=deque([(x,y)])whilequeue:x,y=queue.popleft()foriinrange(4):nx=x+dx[i]ny=y+dy[i]if0<=nx<Nand0<=ny<M:ifboard[nx][ny]=='L'andnotvisited[nx][ny]:visited[nx][ny]=visited[x][y]+1queue.append((nx,ny))returnvisited[x][y]-1if__name__=='__main__':N,M=map(int,input().split())board=[list(map(str,input().rstrip()))for_inrange(N)]dx=[-1,1,0,0]dy=[0,0,-1,1]result=-sys.maxsizeforxinrange(N):foryinrange(M):ifboard[x][y]=='L':# 각 위치에서 최장거리 체크
result=max(bfs(x,y),result)print(result)