#122. 折绳子

折绳子

题目描述

Farmer John 有一个长度为 L 1L10000( 1 \le L \le 10000 )的绳子,适用于农场工作中的多种任务。绳子上有N1N100 N ( 1 \le N \le 100 )个结,每个结在绳子上的不同位置,绳子两端也各有一个结。

Farmer John 注意到绳子上有几个特殊位置 Fold point ,在这些位置上折绳子,可以让绳结相互对齐,如下图。

帮助 Farmer John 求出有多少个折绳子的位置使得折叠后绳结相互对齐。你可以在绳结所在的位置折绳子,然而在端点处折绳子是不被允许的。折叠后,某一边多出来的绳结将被忽略(如上图所示)。 Farmer John 每次只会折一次绳子,他永远不会对绳子折叠多次。

输入格式

11 行:两个整数 NLN 、 L

2N+12 \dots N + 1 行:每行包括一个范围在 [0,L][0, L] 的整数,表示绳结所在的位置。有两行数据分别是 0 和 L 。

输出格式

11 行:满足题意要求的有效的折绳子位置的数量。

样例

输入样例

5 10
0
10
6
2
4                                      

输出样例

4                                      

样例解释

绳子长度为 L = 10 , 5 个结分别所在的位置为 0, 2, 4, 6, 10 。

有效的折绳子位置是 1, 2, 3, 8 。