#jag2016secretspringb. [jag2016secretspring_b]豪邸と宅配便

[jag2016secretspring_b]豪邸と宅配便

MathJax.Hub.Config({ tex2jax: { inlineMath: [["","",""], ["\\(","\\)"]], processEscapes: true }}); blockquote { font-family: Menlo, Monaco, "Courier New", monospace; color: #333333; display: block; padding: 8.5px; margin: 0 0 9px; font-size: 12px; line-height: 18px; background-color: #f5f5f5; border: 1px solid #ccc; border: 1px solid rgba(0, 0, 0, 0.15); -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; white-space: pre; white-space: pre-wrap; word-break: break-all; word-wrap: break-word; }

Problem Statement

太郎君は豪邸で一人暮らしをしている. 勉強好きの太郎君は,今日も邸内の書斎で勉強をするつもりである. 太郎君は,書斎以外の場所では集中できないので,勉強は必ず書斎で行う.

ところがこの日,太郎君宛の宅配便が NN 件届く.ii (1leqileqN1 \\leq i \\leq N) 番目の宅配便の届く時刻は a_ia\_i である. 配達員を玄関先で待たせるのは心苦しいので,太郎君は宅配便の届く時刻には玄関にいることにした. 豪邸は広いので,書斎と玄関間の移動には片道 MM の時間がかかる.

一方で,太郎君はできるだけ長い時間勉強したいと思っている. 時刻 00 から時刻 TT までで,太郎君が書斎で勉強できる時間の最大値を求めよ.

なお,太郎君は時刻 00 には書斎にいて,時刻 MM より早く宅配便が届くことはなく,時刻 TT より遅く宅配便が届くこともない. また,太郎君が宅配便を受け取るのにかかる時間は無視できる.


Input

各データセットは 2 行からなる. 1 行目は空白で区切られた 3 つの整数 N,M,TN, M, T からなる. これらの整数は,1leqNleq1001 \\leq N \\leq 100, 1leqMleq10,0001 \\leq M \\leq 10{,}000, 1leqTleq10,0001 \\leq T \\leq 10{,}000 を満たす. 2 行目は空白で区切られた NN 個の整数 a_1,a_2,dots,a_Na\_1, a\_2, \\dots, a\_N からなる. 各 a_ia\_iMleqa_ileqTM \\leq a\_i \\leq T を満たし,また a_i<a_i+1a\_i < a\_{ i + 1 } (1leqi<N1 \\leq i < N) である.

Output

太郎君が勉強できる時間の最大値を表す整数を 1 行に出力せよ.



Sample Input 1

1 1 5
3```

### Output for the Sample Input 1

```plain
3```

* * *

### Sample Input 2

```plain
2 1 10
2 7```

### Output for the Sample Input 2

```plain
6```

* * *

### Sample Input 3

```plain
2 4 10
6 8```

### Output for the Sample Input 3

```plain
2```

* * *