#include<bits/stdc++.h>
using namespace std;
const int N = 15;
int g[N][N];
int startx,starty,endx,endy;
int n,m;
int idx;
int ansx[N],ansy[N];
bool flag = false;
void dfs(int x,int y){
g[x][y] = 0;
int dx[4] = {0,-1,0,1},dy[4] = {-1,0,1,0};
ansx[0] = startx,ansy[0] = starty;
if(x == endx && y == endy){
flag = true;
for(int i = 0;i <= idx;i ++ ){
cout << "(" << ansx[i] << "," << ansy[i] << ")";
if(i != idx) cout << "->";
}
puts("");
return;
}
for(int i = 0;i < 4;i ++ ){
int a = x + dx[i],b = y + dy[i];
if(g[a][b] && a >= 1 && a <= n && b >= 1 && b <= m){
++ idx;
ansx[idx] = a,ansy[idx] = b;
g[a][b] = 0;
dfs(a,b);
g[a][b] = 1;
idx --;
}
}
}
int main(){
cin >> n >> m;
for(int i = 1;i <= n;i ++ ){
for(int j = 1;j <= m;j ++ ){
cin >> g[i][j];
}
}
cin >> startx >> starty >> endx >> endy;
dfs(startx,starty);
if(!flag) cout << -1;
return 0;
}