import java.io.*;
import java.util.*;
class Point{
int x;
int y;
Point(int x,int y){
this.x = x;
this.y = y;
}
}
public class Main{
public static void main(String[] args) throws Exception{
Scanner sc = new Scanner(System.in);
while(sc.hasNextInt()){
int n = sc.nextInt();
int m = sc.nextInt();
int[][] num = new int[n][m];
for(int i = 0; i < n; ++i){
for(int j = 0; j < m; ++j){
num[i][j] = sc.nextInt();
}
}
List<List<Point>> res = new ArrayList<>();
dfs(num, 0, 0, n - 1, m - 1, new ArrayList<Point>(), res);
int minSize = Integer.MAX_VALUE;
int minIndex = 0;
for(int i = 0; i < res.size(); ++i){
if(minSize > res.get(i).si***Size = res.get(i).si***Index = i;
}
}
for(Point p : res.get(minIndex)){
System.out.println("("+ p.x + "," + p.y + ")");
}
}
}
public static void dfs(int[][] num, int i, int j, int n, int m, List<Point> list, List<List<Point>> res){
if(i == n && j == m){
// 走到尾部,添加节点
list.add(new Point(i, j));
// 添加到res中
res.add(new ArrayList<>(list));
return;
}
// 添加当前元素
list.add(new Point(i,j));
if((i + 1) <= n && j <= m && num[i + 1][j] == 0){
// 移除添加到最后的一个元素
dfs(num, i + 1, j, n, m, list, res);
list.remove(list.size() - 1);
}
if(i <= n && (j + 1) <= m && num[i][j + 1] == 0){
dfs(num, i, j + 1, n, m, list, res);
list.remove(list.size() - 1);
}
}
}