你被请来给一个要举办高尔夫比赛的树林砍树。 树林由一个 的矩阵表示, 在这个矩阵中: - 表示障碍,无法触碰 - 表示地面,可以行走 - 比 大的数 表示有树的单元格,可以行走,数值表示树的高度 每一步,你都可以向上、下、左、右四个方向之一移动一个单位,如果你站的地方有一棵树,那么你可以决定是否要砍倒它。 你需要按照树的高度从低向高砍掉所有的树,每砍过一颗树,该单元格的值变为 (即变为地面)。 你将从 点开始工作,返回你砍完所有树需要走的最小步数。 如果你无法砍完所有的树,返回 。 可以保证的是,没有两棵树的高度是相同的,并且你至少需要砍倒一棵树。
输入描述:
第一行两个整数,分别是 和 。接下来有 行,每行 个数,代表矩阵的行。


输出描述:
如果可以,输出一个正整数,如果不行,输出
示例1

输入

3 3
1 2 3
0 0 4
7 6 5

输出

6
加载中...