#include<bits/stdc++.h>
using namespace std;
const int N=20;
const int N2=1e7+5;
const int dx[]={-1,0,0,1},dy[]={0,-1,1,0};
int m,n,n1,m1,n2,m2,s;
bool f;
int a[N][N],b[N][N],x2[N2],y2[N2];
void dfs(int x,int y){
if(b[x][y]||a[x][y]!=1){
return;
}
if(x==n2&&y==m2){
for(int i=1;i<=s;i++){
cout<<"("<<x2[i]<<","<<y2[i]<<")"<<"->";
}
cout<<"("<<n2<<","<<m2<<")"<<endl;
f=1;
return;
}
b[x][y]=1;
s++;
x2[s]=x;y2[s]=y;
for(int i=0;i<4;i++){
dfs(x+dx[i],y+dy[i]);
}
s--;
b[x][y]=0;
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>a[i][j];
}
}
cin>>n1>>m1;
cin>>n2>>m2;
dfs(n1,m1);
if(!f) cout<<-1;
return 0;
}