#P5371. Lasers and Mirrors

Lasers and Mirrors

题目描述

出于某种原因,农民约翰的奶牛似乎总是在播放激光节目

在他们最新的节目中,奶牛们获得了一个大功率的激光{--}事实上,它太大了,以至于它们似乎无法轻易地将其从交付地点移开。他们想通过某种方式将激光发出的光传送到FJ{FJ}地产另一边的谷仓。激 光和谷仓都可以被视为位于FJ{FJ}农场地图上2D{2D}平面上的点。牛计划对准激光,使其水平或垂直(即与x{x}y{y}轴对齐)发出光束。然后,他们将把这束光从许多镜子上反射出来,将其引 导到谷仓。

农场上有N{N}个栅栏柱1{(1≤}N{N≤}100000{100000)}位于不同的2D{2D}点(也不同于激光和谷仓),奶牛可以在该点安装镜子。奶牛可以选择不在栅栏柱上安装镜子,在这种情况下,激光将直接通过柱子顶部而不改变方向。如果奶牛确实在栅栏柱上安装了一面镜子,它们会像或那样将其对角对齐,以便它将水平光束重新定向到垂直方向,反之亦然。

请计算奶牛需要使用的镜子的最小可能数量,以便将激光重新定向到畜棚。

输入格式

第一行输入包含5{5}个空格分隔的整数:N{N,}xL{xL,}yL{yL,}xB{xB,}yB{yB,}其中xL{(xL,}yL{yL)}是激光器的位置,xB{(xB,}yB{yB)}是仓库的位置。所 有坐标都在0{0}100000000{100000000}之间。

接下来的N{N}行分别包含栅栏柱的x{x}y{y}位置,两个整数的范围为0{0…}1000000,00{1000000,00}

输出格式

请输出将激光引导至仓库所需的最小镜子数量,如果不可能,请输出1{-1}

样例

输入样例

4 0 0 7 2
3 2
0 2
1 6
3 0

输出样例

1