#ABC168E. ∙ (Bullet)

∙ (Bullet)

题目描述

We have caught NN sardines. The deliciousness and fragrantness of the ii-th sardine is AiA_i and BiB_i, respectively.

We will choose one or more of these sardines and put them into a cooler. However, two sardines on bad terms cannot be chosen at the same time.

The ii-th and jj-th sardines (ij)(i \neq j) are on bad terms if and only if AiAj+BiBj=0A_i \cdot A_j + B_i \cdot B_j = 0.

In how many ways can we choose the set of sardines to put into the cooler? Since the count can be enormous, print it mod 10000000071000000007.

我们捕获了 NN 条沙丁鱼。 ii 这条沙丁鱼的_美味度_和_鲜美度_分别是 AiA_iBiB_i

我们将从这些沙丁鱼中挑选一条或多条放入冷藏箱。但是,不能同时选择两条条件不好的沙丁鱼。

当且仅当 AiAj+BiBj=0A_i \cdot A_j + B_i \cdot B_j = 0 时, 第 ii 和第 jj 沙丁鱼 (ij)(i \neq j) 是条件不好的。

我们可以用多少种方法选择沙丁鱼的集合来放入冷藏箱?因为计数可能非常大,所以请打印出 10000000071000000007 的模数。

输入格式

输入内容按以下格式标准输入:

NN
A1A_1 B1B_1
::
ANA_N BNB_N

输出格式

打印计数 mod 10000000071000000007

样例 #1

样例输入 #1

3
1 2
-1 1
2 -1

样例输出 #1

5

样例 #2

样例输入 #2

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

样例输出 #2

479

说明

数据规模与约定

  • 所有输入值均为整数。
  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 1018Ai,Bi1018-10^{18} \leq A_i, B_i \leq 10^{18}

样例 11 解释

选择沙丁鱼集合的方法有以下五种:

  • 11 (st
  • 11 -st 和 22 -nd
  • 22 结尾
  • 22 nd和 33 rd
  • 33 -rd