A76 - River Crossing Editorial /

Time Limit: 1 sec / Memory Limit: 1024 MB

配点: 1000

注意

書籍の版によっては、書籍内のコードが正しくない場合があります。正誤表を参照してください。

問題文

川幅が W メートルである KYOPRO 川には、 N 個の足場が一直線上に並べられており、西から順に 1 から N までの番号が付けられています。足場 i (1 \leq i \leq N) は西岸から X_i メートルの位置にあります。

太郎君は東方向のジャンプを繰り返すことで、西岸から東岸まで移動しようと思いました。しかし、一回のジャンプで飛ぶ距離は長すぎても短すぎてもダメであり、 L メートル以上 R メートル以下でなければなりません。移動方法は全部で何通りありますか。

制約

  • 1 \leq N \leq 150{,}000
  • 0 < X_1 < X_2 < \cdots < X_N < W \leq 10^{9}
  • 1 \leq L \leq R \leq W

入力

入力は以下の形式で標準入力から与えられます。

N W L R
X_1 X_2 \ldots X_N

出力

答えを 1{,}000{,}000{,}007 で割った余りを出力してください。


入力例 1

5 65 7 37
5 15 30 50 55

出力例 1

7