nx-dx[i],ny-dy[i],cur+1); mat[nx][ny]=1; } } } } int main() { while(~scanf("%d%d",&m,&n)) { if(n==0 && m==0 ) break; memset(mat,0,sizeof(mat)); int i,j,sx,sy; for(i=1; i<=n; i++) for(j=1; j<=m; j++) { scanf("%d",&mat[i][j]); if(mat[i][j]==2) { sx=i;sy=j; } } ans=500; dfs(sx,sy,0); if(ans<11) printf("%d\n",ans); else printf("-1\n"); } return 0; }