#include <iostream>
#include <vector>
using namespace std;
class DFS {
public:
int dir[4][2] = {{0,1},{0,-1},{1,0},{-1,0}};
vector<vector<int>> res;
vector<vector<int>> path;
vector<vector<int>> vis;
int m;
int n;
DFS(vector<vector<int>>& mat){
m = mat.size(),n = mat[0].size();
vis.resize(m, vector<int>(n));
dfs(0,0,mat);
}
void dfs(int x, int y, vector<vector<int>>& mat){
if(x < 0 || y < 0 || x >= m || y >= n || res.size() > 0){
return;
}
if(vis[x][y] || mat[x][y] == 1) return;
if(x == m - 1 && y == n - 1){
for(int i = 0; i < path.size(); i++){
res.push_back(path[i]);
}
res.push_back({x,y});
return;
}
for(int i = 0; i < 4; i++){
int nx = x + dir[i][0];
int ny = y + dir[i][1];
path.push_back({x, y});
vis[x][y] = true;
dfs(nx,ny,mat);
path.pop_back();
vis[x][y] = false;
}
}
};
int main() {
int m, n;
while (cin >> m >> n) {
vector<vector<int>> mat(m, vector<int>(n));
for(int i = 0; i < m; i++){
for(int j = 0; j < n; j++){
cin >> mat[i][j];
}
}
auto d = new DFS(mat);
for(int i = 0; i < d->res.size(); i++){
cout << '(' << d->res[i][0] << "," << d->res[i][1] << ')' << endl;
}
}
return 0;
}