Moore の法則によると、チップ上のトランジスタ数は 2 年ごとに倍増します。驚くべきことに、この法則は半世紀以上にわたって成り立ってきました。当時の技術ではそれ以上増やせなくなるたびに、研究者たちは回路をさらに高密度に配置する新しい製造技術を生み出してきました。近い将来、チップが二次元ではなく三次元に作られるようになるかもしれません。ただし、この問題では二次元で十分です。
あらゆる二次元のハードウェア設計(チップ、グラフィックスカード、マザーボードなど)に共通する問題は、配線の配置です。ハードウェア上で配線を引くとき、互いに交差する必要があると問題になります。交差する場合には、2 本の電線が互いの上を通れるように特殊な装置を使用しなければならず、製造費用が増加します。
今回の問題は次のとおりです。すでにいくつかの配線が配置されたハードウェア設計が与えられます(すべての配線は線分です)。さらに、新たに追加する配線接続の始点と終点も与えられます。始点と終点を結ぶために横切る必要がある既存の配線の本数の最小値を求めてください。この接続は直線でなくても構いません。唯一の条件は、既存の 2 本以上の配線が接している点や交差している点では横切れないことです。
図 L.1:最初の入力例。
図 L.1 は最初の入力例を示しています。8 本の既存の配線が 5 つの正方形を作っています。新しい接続の始点と終点は、それぞれ一番左と一番右の正方形の中にあります。黒い破線が示すように、直接結ぶと 4 本の配線を横切りますが、最適解では 2 本だけを横切ります(青い曲線)。
入力
入力は 1 つのテストケースからなります。最初の行には 5 つの整数 $m,x_0,y_0,x_1,y_1$ があり、既存の配線の本数($m \le 100$)と、接続すべき始点および終点を表します。続く $m$ 行にはそれぞれ 4 つの整数 $x_a,y_a,x_b,y_b$ があり、$(x_a,y_a)$ から $(x_b,y_b)$ への長さが 0 でない既存の配線を表します。各入力座標の絶対値は $10^5$ 未満です。どの 2 本の配線も共通点は高々 1 つで、つまり配線は重なりません。新しい配線の始点と終点は既存の配線上にはありません。
出力
始点と終点を接続するために横切る必要がある配線の最小本数を出力してください。
入出力例
入力 1
8 3 3 19 3 0 1 22 1 0 5 22 5 1 0 1 6 5 0 5 6 9 0 9 6 13 0 13 6 17 0 17 6 21 0 21 6
出力 1
2
入力 2
1 0 5 10 5 0 0 10 10
出力 2
0