#abc168e. [abc168_e]∙ (Bullet)

[abc168_e]∙ (Bullet)

問題文

NN 匹のイワシが釣れました。ii 匹目のイワシの美味しさは AiA_i、香り高さは BiB_i です。

この中から 11 匹以上のイワシを選んで同じクーラーボックスに入れますが、互いに仲が悪い 22 匹を同時に選ぶことはできません。

ii 匹目と j(neqi)j (\\neq i) 匹目のイワシは、AicdotAj+BicdotBj=0A_i \\cdot A_j + B_i \\cdot B_j = 0 を満たすとき(また、その時に限り)仲が悪いです。

イワシの選び方は何通りあるでしょう?答えは非常に大きくなる可能性があるので、10000000071000000007 で割ったあまりを出力してください。

制約

  • 入力はすべて整数
  • 1leqNleq2times1051 \\leq N \\leq 2 \\times 10^5
  • \-1018leqAi,Bileq1018\-10^{18} \\leq A_i, B_i \\leq 10^{18}

入力

入力は以下の形式で標準入力から与えられる。

NN A1A_1 B1B_1 :: ANA_N BNB_N

出力

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


入力例 1

3
1 2
-1 1
2 -1

出力例 1

5

条件を満たす選び方は以下の 55 通りです。

  • 11 匹目
  • 1,21, 2 匹目
  • 22 匹目
  • 2,32, 3 匹目
  • 33 匹目

入力例 2

10
3 2
3 2
-1 1
2 -1
-3 -9
-8 12
7 7
8 1
8 2
8 4

出力例 2

479