这是一个寒冷多雨的夜晚。你漫无目的地在黑暗的街道上徘徊。几天前,你得知了一个悲痛的消息:你的好友 TankEngineer 因为是个萝莉控,在 ALU 被活活烧死了。“他只是觉得小女孩很可爱,喜欢参加 ICPC 比赛而已。”你对自己说,“为什么事情会变成这样?”
独自走在路上,你从未觉得村里的街道如此陌生和怪异。它们要么严格呈南北走向,要么严格呈东西走向。“又是一条死胡同。”你叹了口气,“这个世界真是太残酷了。”它所带来的喜悦和幸福,与它带来的悲伤和痛苦相比,根本不值一提。
你不知道自己在街上走了多久。“来吧,亲爱的,你脸上为什么带着忧伤的表情?”当你回想起那个天使般的声音时,那是你的虚拟女友,一个非常可爱的萝莉。“他没有死,他只是跳跃到了另一个维度。到我这里来,我会让你看到的。”
你不敢相信自己所听到的。这怎么可能是真的?也许你只是疯了,因为你这辈子从未有过女朋友,所以你用自己的想象力虚构了一个。无论如何,你开始尽可能快地沿着街道奔向你女友的住处。
“只要这个世界上还有可爱的萝莉,还有对她们的爱,就会有光,就会有希望。”TankEngineer 曾经说过的话在你脑海中回荡。这些街道可以看作平面上的 $n$ 条水平或垂直线段。去往你虚拟女友住处的最短路径是多少?
输入格式
第一行包含一个整数 $n$ ($1 \le n \le 2 \times 10^4$),表示街道的数量。
接下来的 $n$ 行,每行包含四个整数 $x_{i1}, y_{i1}, x_{i2}, y_{i2}$,表示第 $i$ 条街道是从 $(x_{i1}, y_{i1})$ 到 $(x_{i2}, y_{i2})$ 的线段。
最后一行包含四个整数 $sx, sy, tx, ty$,分别表示起点(你现在的位置)和终点(你虚拟女友的住处)。
保证每条线段要么是水平的($y_{i1} = y_{i2}$),要么是垂直的($x_{i1} = x_{i2}$)。任意两条平行的线段不会相交(它们可以接触)。所有坐标的绝对值不超过 $10^9$。
输出格式
输出一行一个整数 $l$,表示从 $(sx, sy)$ 到 $(tx, ty)$ 的最短路径长度。如果无法从 $(sx, sy)$ 到达 $(tx, ty)$,则输出 $-1$。
样例
输入 1
8 0 0 0 2 0 2 2 2 2 2 2 0 2 0 0 0 -1 1 1 1 1 1 1 3 1 3 -1 3 -1 1 -1 3 2 0 -1 3
输出 1
6