def find_escape(cells, start, path, all_paths):
    if start[0] < 0 or start[0] >= len(cells):
        return 
    if start[1] < 0 or start[1] >= len(cells[0]):
        return 
    
    cell = cells[start[0]][start[1]]
    if cell == 'B' or cell == '*': return
    
    path.append(start)    
    
    if cell == 'X':
        all_paths.append(path[:])
    else:
    
        cells[start[0]][start[1]] = '*'
    
        find_escape(cells,(start[0]-1,start[1]),path, all_paths)
        find_escape(cells,(start[0]+1,start[1]),path, all_paths)
        find_escape(cells,(start[0],start[1] - 1),path, all_paths)
        find_escape(cells,(start[0],start[1] + 1),path, all_paths)

        cells[start[0]][start[1]] = 'E'
        
    path.pop()
