编程题
### 问题描述
一位年轻的勇士来到了魔堡,魔堡的地形可以看成是一个 $n \times m$ 的二维平面,每个平面点上都有一只怪物。这位勇士最开始在魔堡顶端,他可以进入第一行的任意一个点作为起点,他要寻找到一条路径杀到最后一行从而穿越魔堡。这位勇者对魔堡中出现的所有怪物都计算了它们对应的生命值。勇者每次进入一个点会率先发起攻击,只要攻击力大于等于该怪物的生命值就可以将其击杀,如果无法一击必杀怪物就会反攻勇者。勇者他不想在经过魔堡时损失体力,他必须修炼自己的攻击力,可是提升攻击力也需要很昂贵的金钱作为代价。
现在勇者可以从第一行任意一个点开始出发,他每次可以向上下左右四个相邻的方向移动到相邻的一个点,移动到最后一行时勇者可以走出魔堡。你能确定一个攻击力 $K$ ,帮助勇者找出一条路径,使得他能一击必杀所有怪物,并且使 $K$ 最小吗?
### 输入格式
第一行有两个整数 $n$ , $m$ 。
接下来由 $n$ 行,每行 $m$ 个数,第 $i$ 行第 $j$ 列的数 $a_{i,j}$ 表示在该点的怪物的生命值。
### 输出格式
输出一个数表示所求的攻击力 $K$ 。
### 样例输入
```plaintext
4 2
1 1
3 5
2 4
1 1
```
### 样例输出
```plaintext
3
```
### 说明
对于 $50\\%$ 的数据, $1 \le n,m \le 100$ 。
对于 $100\\%$ 的数据, $1 \le n,m \le 1000 ,0 \le a_{i,j} \le 1000$ 。