#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;
}