#2288. Lasers and Mirrors

Lasers and Mirrors

题目描述

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

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

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

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

输入格式

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

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

输出格式

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

样例

输入样例

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

输出样例

1