# [USACO2.4] 穿越栅栏 Overfencing

## 题目描述

Farmer John 在外面的田野上搭建了一个巨大的用栅栏围成的迷宫。幸运的是，他在迷宫的边界上留出了两段栅栏作为迷宫的出口。更幸运的是，他所建造的迷宫是一个“完美的”迷宫：即你能从迷宫中的任意一点找到一条走出迷宫的路。

给定迷宫的宽度 $W$（$1 \leq W \leq 38$）及高度 $H$（$1 \leq H \leq 100$）。$2 \times H+1$ 行，每行 $2 \times W+1$ 的字符以下面给出的格式表示一个迷宫。然后计算从迷宫中最“糟糕”的那一个点走出迷宫所需的步数（即使从这一点以最优的方式走向最靠近的出口，它仍然需要最多的步数）。

当然了，牛们只会水平或垂直地在 X 或 Y 轴上移动，他们从来不走对角线。每移动到一个新的方格算作一步（包括移出迷宫的那一步）。

这是一个 $W=5,H=3$ 的迷宫：

```plain
+-+-+-+-+-+
|         |
+-+ +-+ + +
|     | | |
+ +-+-+ + +
| |     |  
+-+ +-+-+-+
```
如上图的例子，栅栏的柱子只出现在奇数行或奇数列。每个迷宫只有两个出口。

## 输入格式

第一行两个整数 $W,H$。

接下来 $2 \times H+1$ 行：每行 $2 \times W+1$ 个字符，描述一个迷宫。

## 输出格式

输出一个单独的整数，表示最坏情况下牛走出迷宫的最小步数。

## 样例 #1

### 样例输入 #1

```
5 3
+-+-+-+-+-+
|         |
+-+ +-+ + +
|     | | |
+ +-+-+ + +
| |     |  
+-+ +-+-+-+
```

### 样例输出 #1

```
9
```

## 提示

翻译来自NOCOW

USACO 2.4