#CF4127. 晨星

晨星

题目描述

指南针直接指向晨星。它只能指向八个方向之一:四个主要方向(NSEW)或某些组合(NWNESWSE)。

image

指南针可指向的方向。

平面上有 nn 个不同坐标的点。有多少种方法可以将指南针放在一个点上,晨星放在另一个点上,且指南针指向晨星?

输入格式

每个测试包含多个测试用例。第一行包含测试用例的数量 t(1t104)t(1≤t≤10^4)。以下是测试用例的描述。

每个测试用例的第一行包含一个整数 n(2n2×105)n(2≤n≤2×10^5) — 点的数量。

然后有 nn 行,每行包含两个整数 xi,yi(109xi,yi109)x_i, y_i(-10^9≤x_i,y_i≤10^9) — 每个点的坐标,所有点坐标都不相同。

保证所有测试用例中 nn 的总和不超过 2×1052×10^5

输出格式

对于每个测试用例,输出一个整数 — 可以使指南针指向晨星的点对的数量。

测试样例

5
3
0 0
-1 -1
1 1
4
4 5
5 7
6 9
10 13
3
-1000000000 1000000000
0 0
1000000000 -1000000000
5
0 0
2 2
-1 5
-1 10
2 11
3
0 0
-1 2
1 -2
6
2
6
8
0

样例说明

在第一个测试用例中,任意一对点都可以:

指南针位于 (0,0)(0,0) 处,晨星位于 (1,1)(-1,-1) 处:指南针将指向 SW

指南针位于 (0,0)(0,0) 处,晨星位于 (1,1)(1,1) 处:指南针将指向 NE。 指南针位于 (1,1)(-1,-1) 处,晨星位于 (0,0)(0,0) 处:指南针将指向 NE。 指南针位于 (1,1)(-1,-1) 处,晨星位于 (1,1)(1,1) 处:指南针将指向 NE。 指南针位于 (1,1)(1,1) 处,晨星位于 (0,0)(0,0) 处:指南针将指向 SW。 指南针位于 (1,1)(1,1) 处,晨星位于 (1,1)(-1,-1) 处:指南针将指向 SW

在第二个测试用例中,只有两对点可以:

指南针位于 (6,9)(6,9) 处,晨星位于 (10,13)(10,13) 处:指南针将指向 NE

指南针位于 (10,13)(10,13) 处,晨星位于 (6,9)(6,9) 处:指南针将指向 SW