Janine 最近去当地的游戏店买了一款名为“Hole in One”的电脑迷你高尔夫游戏。顾名思义,游戏的目标是用一次击球将球打入洞中。该游戏还借鉴了打砖块游戏的元素:在场地中放置了若干面墙,球击中墙后墙会被摧毁。成功击球的得分取决于被摧毁墙的数量,因此 Janine 想知道:在完成“一杆进洞”的同时,最多能击中多少面墙?
为了解决这个问题,你可以将场地看作一个笛卡尔平面,球的初始位置在原点。墙是该平面内互不相交的轴平行线段(即平行于 $x$ 轴或 $y$ 轴)。球的直径可以忽略不计,因此将其视为一个点。
图 H.1:第一个样例输入的示意图:球首先在点 1 和点 2 处反弹。当它经过点 3 时,该墙已经消失。
每当球击中一面墙时,会发生两件事: 球的运动方向按常规方式改变:入射角等于反射角。 被球触碰的墙被摧毁。遵循常见的电子游戏逻辑,墙不会留下任何残骸;它就像消失了一样。
球的行为也受到击球力度的影响。特别地,一次最优的击球可能需要先滚过球洞,然后再击中更多墙,最后才落入洞中。
输入格式
输入包含: 一行,包含一个整数 $n$ ($0 \le n \le 8$),表示墙的数量; 一行,包含两个整数 $x$ 和 $y$,表示球洞的坐标; * $n$ 行,每行包含四个整数 $x_1, y_1, x_2$ 和 $y_2$(满足 $x_1 = x_2$ 或 $y_1 = y_2$,但不同时满足),表示一面以 $(x_1, y_1)$ 和 $(x_2, y_2)$ 为端点的墙。
球洞不在原点,也不在墙上。墙之间互不接触或相交。没有墙完全位于 $x$ 轴或 $y$ 轴上。输入中的所有坐标均为整数,绝对值不超过 $1\,000$。
输出格式
如果无法通过击球使球进入球洞,请输出 impossible。否则,输出在一次“一杆进洞”中最多能摧毁的墙的数量。
样例
样例输入 1
3 4 2 1 1 1 2 2 1 2 2 3 1 3 2
样例输出 1
2
样例输入 2
1 2 0 1 -1 1 1
样例输出 2
impossible
样例输入 3
2 -2 4 2 4 2 2 0 6 -2 6
样例输出 3
2