#include <iostream>
#include <cstdio>
using namespace std;
int n,m;
int Sx,Sy,Fx,Fy;
int mapp[20][20];
int linex[405],liney[405];
int book[20][20];
int gx[4] = {0,-1,0,1};
int gy[4] = {-1,0,1,0};
bool flag = false;
void dfs(int x,int y,int step){
if(x == Fx && y == Fy){
flag = true;
printf("(%d,%d)",Sx,Sy);
// printf("->(%d,%d)",linex[1],liney[1]);
for(int i = 1; i < step; ++i){
printf("->(%d,%d)",linex[i],liney[i]);
}
putchar('\n');
return ;
}
if(step > 1145){
return ;
}
for(int i = 0; i <= 3; ++i){
int nx = x + gx[i];
int ny = y + gy[i];
if(nx < 1 || nx > n || ny < 1 || ny > m || mapp[nx][ny] == 0 || book[nx][ny] == 1){
continue;
}
book[nx][ny] = 1;
linex[step] = nx , liney[step] = ny;
dfs(nx,ny,step + 1);
book[nx][ny] = linex[step] = liney[step] = 0;
}
}
int main(){
scanf("%d%d",&n,&m);
for(int i = 1; i <= n; ++i){
for(int j = 1; j <= m; ++j){
scanf("%d",&mapp[i][j]);
}
}
scanf("%d%d%d%d",&Sx,&Sy,&Fx,&Fy);
dfs(Sx,Sy,1);
if(!flag){
printf("-1");
}
return 0;
}
rt