三角形和线段
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

妹,你看那星空中的星星有多少种组成线段的方案啊?

这不是很容易的事情吗?就是一个组合数的事情啊。

如果是一个三角形呢?

没什么区别,这很容易

如果可以的话,我愿意一直往上爬,选出三个点当三角形,再选出两个点当线段,使他们没有交点。

“我会选了!我还可以将方案数送给你。”

可是真的好难。

看见哥哥沉思许久,忍不住提醒了一句:你发现没,天空中任意三个点都可以构成一个三角形呢

~我会了

聪明的你会了吗?

输入描述:

输入的第一行是一个正整数n,表示星星的个数。

接下来n行,每行两个整数x,y,表示第i个星星的坐标。

输出描述:

共一行一个数,表示选出一个三角形和一条线段,使他们没有交点的方案数。
示例1

输入

复制
5 
1 1
3 2
5 1
4 2
4 5

输出

复制
8

说明

除了选出[1,4,5],[2,3,5]当三角形,其他都可行

备注:

对于20%的数据,n<=50;

对于50%的数据,n<=100;

对于100%的数据,n<=300;|x|,|y|<=10000;