Rope Folding

У Фермера Джона есть длинная веревка длины L (1 <= L <= 10,000), которую он использует на ферме. На веревке завязаны N (2 <= N <= 100) узлов на различных расстояниях, в том числе на обоих концах.

ФД заметил, что имеются определенные точки на веревке, в которой он может перегнуть веревку назад, так что узлы на обоих частях веревки станут точно рядом друг с другом.



Пожалуйста, помогите ФД посчитать количество точек перегиба, в которых соблюдается это свойство. Допускается складывание веревки в любом из узлов (кроме начала и конца веревки). Лишние узлы на более длинной части веревки не принимаются во внимание (то есть необходимо обеспечить выравнивание узлов в области, где есть обе части веревки). Делать можно только одно складывание за один раз. ФД не умеет складывать веревку много раз.

PROBLEM NAME: folding

INPUT FORMAT:

* Строка 1: Два разделенных пробелом целых числа, N и L.

* Строки 2..1+N: Каждая строка содержит одно целое число в интервале 0...L
                 Указывающее расположение одного узла. Две из этих строк будут всегда 0 и L.

SAMPLE INPUT (файл folding.in):

5 10
0
10
6
2
4

INPUT DETAILS:

Веревка имеет длину L=10, и на ней  5 узлов в позициях 0, 2, 4, 6, 10.

OUTPUT FORMAT:

* Строка 1: Количество корректных позиций перегиба веревки.

SAMPLE OUTPUT (файл folding.out):

4

OUTPUT DETAILS:

Корректные позиции перегиба 1, 2, 3, 8.