#include<iostream>
#include<iomanip>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;
int n,m;
int min=10000;
int map[10001][10001];
int ex,ey,sx,sy;
int dx[]={0,0,0,1,-1};
int dy[]={0,1,-1,0,0};
int ans=0;
bool vis[5000][5000];
int wayx[5000];
int wayy[5000];
void dfs(int x,int y,int step){
for(int i=1;i<=4;i++){
int tx=x+dx[i];
int ty=y+dy[i];
if(tx>=1&&tx<=n&&ty>=1&&ty<=m&&map[tx][ty]!=0&&!vis[tx][ty]){
vis[tx][ty]=true;
wayx[step]=tx;
wayy[step]=ty;
if(tx==ex&&ty==ey){
cout<<"(1,1)->";
for(int i=1;i<step;i++){
cout<<'('<<wayx[i]<<","<<wayy[i]<<")->";
}
cout<<'('<<wayx[step]<<","<<wayy[step]<<")";
cout<<endl;
ans++;
}else{
dfs(tx,ty,step+1);
}
vis[tx][ty]=false;
}
}
}
int main(){
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>map[i][j];
}
}
cin>>sx>>sy>>ex>>ey;
vis[sx][sy]=true;
dfs(sx,sy,1);
if(ans==0){
cout<<-1;
}
return 0;
}