\(\href{https://algomania.es/account/5}{\color{blue}{\underline{\text{buhsan}}}}\) está ayudando a \(\href{https://algomania.es/account/1}{\color{blue}{\underline{\text{danimania}}}}\) a organizar la próxima competición de AlgoMania, que será en equipos de tres.
Para que sea más justo, deciden poner una condición para que se pueda formar un equipo: la diferencia entre la mayor y la menor puntuación de los usuarios debe ser, como mucho, \(D\).
Para asegurarse de que los participantes tienen cierta libertad, quieren que cuentes el número de maneras posibles de formar los equipos.
Entrada
El programa deberá procesar múltiples casos de prueba leídos desde la entrada estándar.
Cada caso comienza con dos números enteros \(3 \le n \le 21\) y \(0 \le D \le 4000\) que indican el número de personas que participarán en el concurso (se garantiza que \(n\) es múltiplo de 3) y el valor máximo permitido de diferencia de puntuaciones.
A continuación aparecen \(n\) números enteros no negativos y no mayores que 4000, que representan la puntuación de cada participante.
Salida
Para cada caso de prueba, el programa deberá imprimir un único número entero: el número de maneras distintas de formar los equipos de tres personas cumpliendo que, en cada equipo, la diferencia entre la mayor y la menor puntuación sea como mucho \(D\).
Dos formas de formar los equipos se consideran distintas si existe al menos un equipo que contiene participantes diferentes.