from collections import deque h,w = map(int,input().split()) arr = [] graph = {} for i in range(h): arr.append(list(map(int,input().split()))) directions = [(1,0),(-1,0),(0,1),(0,-1)] for i in range(h): for j in range(w): if arr[i][j] == 0: for di,dj in directions: newi,newj = i + di,j + dj if 0 <= newi < h and 0 <= newj < w: if arr[newi][newj] == 0: if (i,j) not in graph: graph[(i,j)] = [(newi,newj)] else: graph[(i,j)].append((newi,newj)) # print(graph) def bfs(graph,start,end): visited = set() queue = deque([[start]]) while queue: current_path = queue.popleft() current_node = current_path[-1] if current_node == end: return current_path if current_node not in visited: visited.add(current_node) # 遍历当前节点的所有邻居 for neighbor in graph[current_node]: # 创建新路径 new_path = list(current_path) new_path.append(neighbor) # 将新路径加入队列 queue.append(new_path) return None path = bfs(graph,(0,0),(h-1,w-1)) for node in path: print("("+str(node[0])+","+str(node[1])+")")