【問題E11】平面上的直線 共有多少個交點。                 [回前頁]

在平面上畫直線,兩條直線之間有幾種關係:

1.重疊:

例如 x+y=1 與 2x+2y=2

2.平行:

例如 x+y=1 與 x+y=2

3.相交:

例如 x+y=1 與 x-y=1 交於點(1,0)

對於相交的直線,會有一個交點,很多直線可能交在同一個點上,例如 x+y=1 與 x-y=1 與 x+2y=1 均交於點 (1,0)

給定一些平面上的直線(不超過 256 條),請寫一個程式算出它們「相交」所產生的相異交點數量。

提示:在此題中,重疊的兩直線之交點數目定義為0。因此您可以適當的選擇不要處理它們。

輸入檔說明

輸入檔是由許多組平面上的直線組成的。每一組資料的第一行會有一個整數 N
(1 <= N <= 256),以下的 N 行每行各代表一條直線,它由三個整數a b c 組成,代表直線 ax+by=c

這三個整數都介在 -1000 到 1000 之間,而且 a 和 b 不會同時為 0

輸入檔的最後一行會有一個單獨的 0,這筆資料不用處理。

輸出檔說明

對每一組輸入檔內要處理的資料,輸出一行內含一個整數,代表資料內的直線相交所產生的相異交點數量。

輸入

3

1 1 1

1 -1 1

1 2 1

2

1 1 1

2 2 2

0

輸出

1

0