include[HTML_REMOVED]
using namespace std;
define fi first
define se second
typedef pair[HTML_REMOVED] PII;
const int N = 101;
int n,m;
int d[N][N];
int g[N][N];
PII q[N * N];
int bfs ()
{
int hh = 0,tt = 0;
memset(d , -1 ,sizeof(d));
d[0][0] = 0;
int dx[4] = {0,1,0,-1},dy[4] = {1,0,-1,0};
while(hh <= tt)
{
auto t = q[hh++];
for(int i = 0;i<4;i++)
{
int x = t.fi + dx[i],y = t.se + dy[i];
if(x >= 0 && y >= 0 && x<n && y <m && d[x][y] == -1 && g[x][y] == 0)
{
d[x][y] = d[t.fi][t.se] + 1;
q[++tt] = {x,y};
}
}
}
return d[n - 1][m - 1];
}
int main()
{
cin >> n >> m;
for(int i = 0;i < n;i)
for(int j = 0;j < m;j)
cin >> g[i][j];
cout << bfs() << '\n';
return 0;
}