#include<bits/stdc++.h>
using namespace std;
int m,n,startx,starty,endx,endy,t=1,tx[1000001],ty[1000001];
bool a[25][25],b[25][25];
int xa[]={0,-1,1,0,0};
int ya[]={0,0,0,-1,1};
bool isans=0;
void print()
{
for(int i=1;i<t;i++)
{
cout<<'('<<tx[i]<<','<<ty[i]<<")->";
}
cout<<'('<<tx[t]<<','<<ty[t]<<')'<<endl;
}
void dfs(int x,int y)
{
if(x==endx&&y==endy)
{
isans=1;
print();
return ;
}
else
{
for(int i=1;i<=4;i++)
{
int nx=x+xa[i];
int ny=y+ya[i];
if(a[nx][ny]==1&&b[nx][ny]!=1&&nx!=0&&nx<m&&ny!=0&&ny<n)
{
t++;
tx[t]=nx,ty[y]=ny;
b[nx][ny]=1;
dfs(nx,ny);
b[nx][ny]=0;
}
}
}
}
int main()
{
cin>>m>>n;
for(int i=1;i<=m;i++)
{
for(int j=1;j<=n;j++)
{
cin>>a[i][j];
}
}
cin>>startx>>starty>>endx>>endy;
tx[t]=startx,ty[t]=starty;
dfs(startx,starty);
if(isans==0)
cout<<"-1";
return 0;
}