#include<iostream>
using namespace std;
int m,n,a[20][20],v[20][20],wx,wy,x2[20],y2[20],q=0;
int fx[5]={0,0,-1,0,1};
int fy[5]={0,-1,0,1,0};
void dfs(int x,int y,int c)
{
if(x==wx&&y==wy)
{
q=1;
for(int i=1;i<=c-1;i++)
cout<<"("<<x2[i]<<","<<y2[i]<<")"<<"->";
cout<<"("<<x<<","<<y<<")"<<endl;
return ;
}
for(int i=1;i<=n;i++)
{
int nx=x+fx[i],ny=y+fy[i];
if(nx<1||nx>m||ny<1||ny>n||a[nx][ny]==0||v[nx][ny]==1)continue;
v[nx][ny]=1;
x2[c]=x,y2[c]=y;
dfs(nx,ny,c+1);
v[nx][ny]=0;
}
}
int main()
{
int x,y;
cin>>m>>n;
for(int i=1;i<=m;i++)
for(int j=1;j<=n;j++)
cin>>a[i][j];
cin>>x>>y>>wx>>wy;
dfs(x,y,1);
if(!q)cout<<-1;
return 0;
}