AT_kupc2014_h 自転車走
Description
[problemUrl]: https://atcoder.jp/contests/kupc2014/tasks/kupc2014_h
初期位置から距離 L 離れた目的地まで直線上のコースに沿って自転車を走らせるゲームをする.
このゲームでは,初期位置から目的地までのルートの途中,自転車が地上を走れる場所が限定されている. ここで,自転車が地上を走れる場所を地面と呼ぶ. 地面は N 個の区間 [a\_i,b\_i](i=1,…,N) によって表され, 初期位置からの距離 x が,ある i に対して a\_i ≤ x ≤ b\_i を満たす場合,その地点で自転車が地上を走れることを意味する.
自転車は自動的に一定の速度で前へ走るが,自転車が地上を走っている場合,プレイヤーは自転車をジャンプさせる事ができる. ジャンプをすると,自転車はその瞬間から空中に飛び,ちょうど距離 W 進んだところで着地する. 空中を飛んでいる間は,地面以外の区間を通過する事が可能だが,着地地点は地面でなければならない. また,着地地点がゴールを超えることは許されない. ジャンプは1回のゲーム中に何回でも可能であり,着地後直ちに再びジャンプすることも可能である. 一連のジャンプを終えると,自転車は再び自動的に前へ走る.
地面以外を走らせることなく自転車をゴールまで到達させるとき,必要なジャンプの最小回数を求めよ. ただし,どのようにジャンプさせても自転車をゴールまで到達させることが不可能な場合は `-1` を出力せよ.
Input Format
入力は以下の形式で与えられる.
```
N L W
a_1 b_1
…
a_N b_N
```
Output Format
自転車をゴールさせるのに必要なジャンプの最小回数を出力せよ. ただし,ゴールさせるのが不可能な場合は `-1` を出力せよ.