编程题
### 问题描述
在一条东西向的珍宝街上,浩浩有 $ N $ 块宝石分布在不同的位置上。每块宝石的位置由东向西为整数坐标 $ A_i $ 表示。
浩浩希望选择一个长度为 $ M $ 的东西向区间 $ [x, x+M) $,以收集这个区间内所有的宝石。具体来说,浩浩会先选择一个实数 $ x $ 作为区间的起始点,然后收集所有满足 $ x \leq A_i < x+M $ 的宝石。
请问浩浩最多能收集到多少块宝石?
### 输入格式
第一行包含两个整数 $ N $ 和 $ M $,分别代表宝石的总数和区间的长度。
第二行包含 $ N $ 个整数,代表每块宝石的位置 $ A_i $。
### 输出格式
输出一个整数,表示最多能收集到的宝石数量。
### 样例输入
```
8 6
2 3 5 7 11 13 17 19
```
### 样例输出
```
4
```
### 评测数据规模
- $ 1 \leq N \leq 3 \times 10^5 $
- $ 1 \leq M \leq 10^9 $
- $ 0 \leq A_i \leq 10^9 $
- 所有输入值为整数。