#fish14. 三文鱼

三文鱼

题目描述

你在一次出海时掉到了 n 条三文鱼,但是你一次没办法吃完他们,所以需要存放至少一条的三文鱼到冰箱。但是近些年海水核污染严重,一些三文鱼如果放在一起,会发生一些奇妙的变化导致他们诈尸。对于任意一条三文鱼来说,它有一个美味值 Xi ,一个污染程度 Yi ,当两条鱼 (i,j) 出现 Xi×Xj+Yi×Yj=0 时,他们会发生诈尸现象。你不希望诈尸的现象发生在你家的冰箱里,于是需要谨慎考虑放置的方案,请输出可能的方案数,答案对 1e9+7 取模。

输入格式

第一行输入一个整数 n

接下来 n 行,每行输入两个整数 xi,yi

输出格式

输出可能的方案数,答案对 1e9+7 取模。

样例 #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 \le n \le 2×10^5,1018xi,yi1018-10^{18} \le x_i,y_i \le 10^{18}