J - Triángulos rectángulos

Languages: C, C++, Java, Pascal, Python, Tiger, JavaScript, Haskell, C#
Time & Memory limits: (details)

Basta ya de juegos! Eso dijo BitOne al tiempo que dejaba sus círculos a un lado, y tomaba su polígono regular favorito de $N$ lados. BitZero decidió marcar algunos de los vértices del polígono de BitOne para molestarlo, pues él no tenía ningunas ganas de trabajar. Entonces BitOne prefirió ignorar la agresión y, en cambio, se planteó el siguiente problema: cuántos triángulos rectángulos se pueden formar tomando como vértices a los que BitZero marcó del polígono de BitOne.

Input

1ra línea : dos enteros $N$ $(1 \le N \le 1000000)$ y $K$ $(1 \le K \le 100000, K \le N)$ indicando la cantidad de lados del polígono regular de BitOne y la cantidad de vértices que marcó BitZero.

2da línea : $K$ enteros separados por un espacio, indicando cuáles vértices fueron marcados. Se asume que los vértices están numerados de $0$ a $N-1$ comenzando por el vértice más a la izquierda y en sentido contrario a las manecillas del reloj.

Output

1ra línea : la respuesta al problema que se planteó BitOne.

Sample test(s)

Input
9 3 0 3 6
Output
0
Input
40 3 0 5 20
Output
1
Input
4 4 0 1 2 3
Output
4

Hints

Hint
Recuerde utilizar enteros de 64 bits para sus cálculos.