AT_abc480_c [ABC480C] Self-Stopping Shower
Description
高橋君は銭湯のシャワーを使っています。 このシャワーにはボタンがあります。 時刻 $ t $ にボタンを押すと時刻 $ t $ から時刻 $ t+K $ までの $ K $ 秒間お湯が出ます。 お湯が出ているときに再びボタンを押した場合も、最後にボタンを押した時刻から $ K $ 秒間お湯が出ます。
$ N $ 人の青木君がいて、ボタンを $ 1 $ 回ずつ押してくれます。 $ i $ 人目の青木君は時刻 $ A_i $ にボタンを押します。
時刻 $ 0 $ から時刻 $ T $ までの間に常にお湯が出ているようにするために高橋君は最小で何回ボタンを押す必要があるかを求めてください。 ただし、ボタンを押したタイミングと最後にボタンを押してからちょうど $ K $ 秒経ったタイミングはいずれもお湯が出ているものとします。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ K $ $ T $ $ A_1 $ $ A_2 $ $ \ldots $ $ A_N $
Output Format
答えを $ 1 $ 行で出力せよ。
Explanation/Hint
### Sample Explanation 1
高橋君は時刻 $ 0,2,10,16 $ にボタンを押すと、時刻 $ 0 $ から時刻 $ 20 $ までの間に常にお湯が出ているようにできます。
ボタンを押す回数が $ 3 $ 回以下のとき、常にお湯が出ているようにはできないため、答えは $ 4 $ です。
### Constraints
- $ 1 \leq N \leq 2 \times 10^5 $
- $ 1 \leq K \leq 10^9 $
- $ 1 \leq T \leq 10^9 $
- $ 0 \leq A_i \leq 10^9 $
- 入力される値はすべて整数