#include<bits/stdc++.h>
using namespace std;
int n, fy[4]={0,-1,0,1}, fx[4]={-1,0,1,0}; // 调整方向顺序为左、上、右、下
char a[21][21]; // 根据题目N≤20,数组大小设为21足够
bool found = false; // 使用bool类型更合适

void printPoint(int x, int y) {
    cout << '(' << x << ',' << y << ')';
}

void dfs(int x, int y) {
    if(x == n && y == n) { // 到达终点
        found = true;
        return;
    }
    
    a[x][y] = '1'; // 标记为已访问
    
    for(int i = 0; i < 4; i++) {
        int tx = x + fx[i];
        int ty = y + fy[i];
        
        if(tx > 0 && ty > 0 && tx <= n && ty <= n && a[tx][ty] == '0') {
            cout << "->"; // 先输出箭头再输出点
            printPoint(tx, ty);
            dfs(tx, ty);
            if(found) {
                return;
            }
        }
    }
}

int main() {
    cin >> n;
    for(int i = 1; i <= n; i++) {
        for(int j = 1; j <= n; j++) {
            cin >> a[i][j];
        }
    }
    
    printPoint(1, 1); // 输出起点
    dfs(1, 1);
    
    return 0;
}
/**************************************************************
	Problem: 1431
	User: zhengzihao
	Language: C++
	Result: Wrong Answer
****************************************************************/