#include<bits/stdc++.h>
using namespace std;
int num[50000][5];
int ax,ay,bx,by,k,pd;
int cx[4]={0,-1,0,1};
int cy[4]={-1,0,1,0};
bool vis[20][20];
int map1[20][20];
void print()
{
if(pd==0)
{
pd=1;
}
for(int h=0;h<=k-1;h++)
cout<<"("<<num[h][0]<<","<<num[h][1]<<")"<<"->";
cout<<"("<<bx<<","<<by<<")"<<endl;
}
void dfs(int x,int y)
{
if(x==bx&&y==by)
{
print();
return;
}
else
{
for(int i=0;i<=3;i++)
if(map1[x+cx[i]][y+cy[i]]==1&&vis[x+cx[i]][y+cy[i]]==0)
{
vis[x][y]=1;
num[k][0]=x;
num[k][1]=y;
k++;
dfs(x+cx[i],y+cy[i]);
vis[x][y]=0;
k--;
}
}
}
int main()
{
int m,n;
cin>>m>>n;
for(int i=1;i<=m;i++)
for(int j=1;j<=n;j++)
cin>>map1[i][j];
cin>>ax>>ay;
cin>>bx>>by;
dfs(ax,ay);
if(pd==0)
cout<<"-1";
return 0;
}