Problem description
Krzyś potrzebuje przedostać się z stołówki obozowej do pałacyku, jednak niestety, z uwagi na jego drobne dysfunkcje, nie jest on w stanie poruszać się jak normalny człowiek. Może poruszać się tylko idąc do przodu lub wykonywać obroty o 90 stopni w lewo lub prawo.
Biorąc pod uwagę stopień dysfunkcji Krzysia, okazuje się, że wykonywanie obrotów jest dla niego bardzo energochłonne, wykonanie zaledwie kilku obrotów potrafi wyssać z Krzysia prawie całą energię.
Krzysiu wyrusza w swą wyprawę. Będzie przemieszczał się pomiędzy lewą i prawą częścią zabudowy. Niestety nie jest łatwo, bowiem na jego trasie znajduje się N przeszkód, każda z nich blokuje pewną część przestrzeni między lewą i prawą częścią zabudowy. Początkowo Krzyś stoi bezpośrednio przed pierwszą przeszkodą i jest odwrócony do niej przodem. Jego celem jest ominąć wszystkie przeszkody – w końcu za nimi z całą pewnością jest pałacyk. Twoim zadaniem będzie napisanie programu, który policzy dla Krzysia, ile minimalnie obrotów będzie musiał wykonać.
Wejście
W pierwszym wierszu wejścia znajdują się dwie liczby N i H, oznaczające liczbę przeszkód oraz odległość pomiędzy prawą i lewą częścią zabudowy. W każdym z następnych N wierszy znajduje się opis kolejnej przeszkody na drodze Krzysia, w postaci dwóch liczb Li, Ri, oznaczających minimalną i maksymalną odległość przeszkody od lewej części zabudowy. Możesz założyć, że Krzysiu jest w stanie ominąć wszystkie przeszkody i dostać się do upragnionego pałacyku – żadna przeszkoda nie blokuje całej przestrzeni między lewą i prawą częścią zabudowy.
Wyjście
W pierwszym wierszu standardowego wyjścia należy wypisać jedną liczbę, oznaczającą minimalną liczbę obrotów, które musi wykonać Krzysiu, żeby ominąć wszystkie przeszkody.
Ograniczenia
0 ≤ N ≤ 100 000, 2 ≤ H ≤ 109, 0 ≤ Li < Ri ≤ H.
Podzadania
W testach wartych łącznie 5 punktów dodatkowo zachodzi N, H ≤ 10. W testach wartych łącznie 15 punktów dodatkowo zachodzi N, H ≤ 1 000. W testach wartych łącznie 15 punktów dodatkowo zachodzi N ≤ 1 000.
Przykład
Input | Output | |
|
|
Input | Output | |
|
|