#1185. 夜间巡航

夜间巡航

No testdata at current.

No submission language available for this problem.

Background

Special for beginners, ^_^

Description

每当到了夜晚,马路上的路灯都会亮起,让晚上的行车能够看清前方的道路。

现在,有一条马路,他的长为NN米 (马路的长度单位计量为 1 N1~N 米),每个整数米的位置上都有一个点,并且我们已经在马路上安装了 MM 个路灯。每一个路灯都可以照亮它所处马路的对应米数。

​比如说,一个路灯处于马路的第 XX 米,并且可以照亮的范围为 KK 米,那么它可以照亮 XK,X+KX-K,X+K 米的马路,包括 XKX-KX+KX+K

​注:一个位置可能会被多个路灯照亮。

​现在,你要确定这条马路上至少还需要多少个路灯,才可以让马路上所有整数位置的点被照亮。

Format

Input

第一行输入一个整数 N(1N109)N (1 ≤ N ≤ 10^9).

第二行输入一个整数 M(0Mmin(N,2105)M (0 ≤ M ≤ min(N, 2*10^5).

第三行输入一个整数 K(0KN)K (0 ≤ K ≤ N) 代表路灯能照亮的范围.

随后 MM 行,按照升序每行输入一个整数 ai(0aiN)a_i (0 \leq a_i \leq N),代表每个路灯的位置.

Output

输出一个整数代表最小需要路灯数。

Samples

5
2
2
1
5
0
26
3
3
3
19
26
2
13
2
10
1
2
1

Limitation

1s, 1024KiB for each test case.