题目描述
Andrew 是十分好奇的学生,一天他在纸上画了一个圆,圆心在 (0,0) 。设周长为 C ,圆上每一个点的坐标为:
现在 Andrew 在圆上画了 n 个点,第 i 的点画在 pi 上,Andrew 可能在一个位置上画多个点。
现在一个好的三角形 (a,b,c) 的定义为:
- 1≤a<b<c≤n
- 原点 (0,0) 严格位于顶点在 pa,Pb 和 pc 的三角形内。特别注意的是,原点不在三角形的周长上。
Andrew 问你有多少个好的三角形。
输入格式
第一行两个整数 n,c ,表示点的个数和圆的周长。
接下来一行,有 n 个整数,具体意义见题目描述。
输出格式
输出一个整数 x ,表示有 x 个好的三角形。
8 10
0 2 5 5 6 9 0 0
6
提示
样例 1 解释:
Andrew 画了下面的图:
原点严格地位于顶点为 p1、p2 和 p5 的三角形内,所以 (1,2,5) 是一个好的三角形。其他五个好三联体是(2,3,6),(2,4,6),(2,5,6),(2,5,7) 和(2,5,8)。
对于 20% 的数据:3≤n≤200,3≤c≤106
对于另外 20% 的数据:3≤n≤106,3≤c≤6000
对于 40% 的数据:3≤n≤106,3≤c≤106 且所有点的位置互不相同。
对于 100% 的数据:3≤n≤106,3≤c≤106