using namespace std;
int m,n;
const int N=100;
int a[N][N],p[N],p1[N],step=0,ax,ay,flag=0;
bool v[N][N];
//typedef pair<int,int> pii;
//pii q[N][N];
void dfs(int x,int y){
if(x==ax&&y==ay){
for(int i=0;i<step;i++)
cout<<"("<<p[i]<<","<<p1[i]<<")"<<"->"; //输出中途步骤;
cout<<"("<<ax<<","<<ay<<")"<<endl;flag=1;return;
}
int dx[4]={-1,0,1,0};
int dy[4]={0,1,0,-1};
for(int k=0;k<4;k++){
if(!v[x+dx[k]][y+dy[k]]&&a[x+dx[k]][y+dy[k]]){
p[step]=x;
p1[step]=y;
step++;
//cout<<p[step]<<" ";
v[x][y]=true;
dfs(x+dx[k],y+dy[k]);
v[x][y]=false;
step--;
}}
}
int main(){
cin>>m>>n;
for(int i=1;i<=m;i++)
for(int j=1;j<=n;j++)
cin>>a[i][j];
int x,y;
cin>>x>>y;
cin>>ax>>ay;
v[x][y]=true;
dfs(x,y);
if(flag==0){
cout<<"-1"<<endl;
}
return 0;
}