Barbara 有一个花园。花园可以表示为一个 $n \times m$ 的网格。她在花园里放置了 $k$ 块石板,这样她每天都可以享受在石板之间漫步的乐趣。这些石板的编号为 $1$ 到 $k$。每块石板完全占据花园中的某个单元格,且没有两块石板放置在同一个单元格中。
然而,一个邪恶的人 Babara 准备放置一个特殊的装置,该装置将占据花园中的一个矩形区域。如果有任何石板与该装置重叠,它就会爆炸并摧毁整个花园!
为了避免爆炸,Barbara 希望通过在花园内移动石板来重新排列它们。在石板重新排列的过程中,石板之间必须始终保持不重叠。所消耗的能量等于所有被移动过的石板中的最大编号。现在 Barbara 想知道重新排列石板所需的最小能量,以便她能将能量留作“其他用途”。
例如,假设装置将被放置在蓝色矩形区域。那么 Barbara 可以按如下方式重新排列石板。请注意,石板在整个移动过程中都不能重叠,而不仅仅是在重新排列结束之后。所有被移动过的石板的最大编号为 $4$,因此消耗的能量为 $4$。
输入格式
第一行包含三个整数 $n$、$m$ 和 $k$。
接下来的 $k$ 行,第 $i$ 行包含两个整数 $x_i$ 和 $y_i$,表示第 $i$ 块石板位于第 $x_i$ 行的第 $y_i$ 个单元格。
最后一行包含四个整数 $u_1$、$v_1$、$u_2$ 和 $v_2$,表示该装置的左上角位于第 $u_1$ 行的第 $v_1$ 个单元格,右下角位于第 $u_2$ 行的第 $v_2$ 个单元格。
输出格式
输出重新排列石板所需的最小能量。如果不需要移动任何石板,则消耗的能量为 $0$。如果无法避免爆炸,则输出 $-1$。
数据范围
- $1 \le n \le 500$
- $1 \le m \le 500$
- $1 \le k \le n \times m$
- $1 \le x_i \le n$
- $1 \le y_i \le m$
- $1 \le u_1 \le u_2 \le n$
- $1 \le v_1 \le v_2 \le m$
- 所有 $(x_i, y_i)$ 对都是互不相同的。
样例
输入样例 1
3 5 8 1 4 1 5 2 3 2 2 3 3 3 4 2 5 1 2 1 3 1 5
输出样例 1
4
输入样例 2
3 3 1 2 2 1 1 3 3
输出样例 2
-1