#P1129. 数房子

数房子

数房子

题目描述

oql 喜欢数房子。 在一个二维平面内,一个房子由一个长方形和一个等腰三角形组成,如下图所示: QQ20241019205602.png 具体地,在二维平面中,五个点 A,B,C,D,EA, B, C, D, E 形成一个房子当且仅当五元组 (A,B,C,D,E)(A, B, C, D, E) 满足以下所有条件:

  • A,B,C,D,EA,B,C,D,E 互不相等。
  • AB=CD,AD=BC,CE=DEAB = CD, AD=BC,CE=DE
  • ADCD,ADABAD \perp CD,AD \perp AB
  • DADE<0\vec{DA} \cdot \vec{DE} < 0,即角ADEADE为钝角。

oql 想知道,给定 nn 个在二维平面中的点,从中选择 55 个不相同的点,能组成有多少个不相同的房子。 两个房子不相同当且仅当存在至少一个点的坐标不同。

输入格式

第一行一个整数 n1n300n(1 ≤ n ≤ 300),表示点的个数。 第 2(n+1)2 ∼ (n + 1) 行,每行两个整数 x,y109x,y109x, y(−10^9 ≤ x, y ≤ 10^9),表示一个点。 保证不存在相同坐标的两个点。

输出格式

输出一行一个整数,表示有多少个房子。

样例 #1

样例输入 #1

5
4 2
0 2
2 5
4 0
0 0

样例输出 #1

1