AT_abc168_e [ABC168E] ∙ (Bullet)

Description

[problemUrl]: https://atcoder.jp/contests/abc168/tasks/abc168_e $ N $ 匹のイワシが釣れました。$ i $ 匹目のイワシの美味しさは $ A_i $、香り高さは $ B_i $ です。 この中から $ 1 $ 匹以上のイワシを選んで同じクーラーボックスに入れますが、互いに仲が悪い $ 2 $ 匹を同時に選ぶことはできません。 $ i $ 匹目と $ j\ (\neq\ i) $ 匹目のイワシは、$ A_i\ \cdot\ A_j\ +\ B_i\ \cdot\ B_j\ =\ 0 $ を満たすとき(また、その時に限り)仲が悪いです。 イワシの選び方は何通りあるでしょう?答えは非常に大きくなる可能性があるので、$ 1000000007 $ で割ったあまりを出力してください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ A_1 $ $ B_1 $ $ : $ $ A_N $ $ B_N $

Output Format

答えを $ 1000000007 $ で割ったあまりを出力せよ。

Explanation/Hint

### 制約 - 入力はすべて整数 - $ 1\ \leq\ N\ \leq\ 2\ \times\ 10^5 $ - $ -10^{18}\ \leq\ A_i,\ B_i\ \leq\ 10^{18} $ ### Sample Explanation 1 条件を満たす選び方は以下の $ 5 $ 通りです。 - $ 1 $ 匹目 - $ 1,\ 2 $ 匹目 - $ 2 $ 匹目 - $ 2,\ 3 $ 匹目 - $ 3 $ 匹目