import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    static int[] actions = new int[] {1, 0, -1, 0, 1};
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int h = in.nextInt();
        int w = in.nextInt();
        int[][] matrix = new int[h][w];
        for (int i = 0; i < h; i++) {
            for (int j = 0; j < w; j++) {
                matrix[i][j] = in.nextInt();
            }
        }
        ArrayList<int[]> res = new ArrayList<>();
        ArrayList<int[]> curPath = new ArrayList<>();
        curPath.add(new int[] {0, 0});
        boolean[][] isVisited = new boolean[h][w];
        dfs(matrix, isVisited, 0, 0, curPath, res);
        for (int[] node : res) {
            System.out.println(String.format("(%d,%d)", node[0], node[1]));
        }
    }

    private static void dfs(int[][] matrix, boolean[][] isVisited, int i, int j,
                            ArrayList<int[]> curPath,
                            ArrayList<int[]> res) {
        if (i == matrix.length - 1 && j == matrix[0].length - 1) {
            res.addAll(curPath);
            return;
        } else {
            isVisited[i][j] = true;
            //从ij向四个方向探索
            for (int a = 0; a < 4; a++) {
                int nextI = i + actions[a];
                int nextJ = j + actions[a + 1];
                if (nextI >= 0 && nextJ >= 0 && nextI < matrix.length &&
                        nextJ < matrix[0].length) {
                    if (matrix[nextI][nextJ] == 0 && !isVisited[nextI][nextJ]) {
                        curPath.add(new int[] {nextI, nextJ});
                        dfs(matrix, isVisited, nextI, nextJ, curPath, res);
                        curPath.remove(curPath.size() - 1);
                    }
                }
            }
        }
    }
}