for(int i = 0; i < MAP[u.x][u.y] - '0'; i++) printf("%ds:FIGHT AT (%d,%d)\n", cnt++, u.x, u.y);
return;
}
print(no[u.fax][u.fay]);
printf("%ds:(%d,%d)->(%d,%d)\n", cnt++, u.fax, u.fay, u.x, u.y);
for(int i = 0; i < MAP[u.x][u.y] - '0'; i++) printf("%ds:FIGHT AT (%d,%d)\n", cnt++, u.x, u.y);
}
int main()
{
int i, j;
while(scanf("%d%d", &N, &M) == 2)
{
for(i = 0; i < N; i++)
for(j = 0; j < M; j++)
{
cin>>MAP[i][j];
no[i][j].init(i, j);
}
no[0][0].step = 0;
cnt = 1;
if(bfs()) print(no[N-1][M-1]);
else printf("God please help our poor hero.\n");
printf("FINISH\n");
}
return 0;
}