cursa

Time limit: 0.6s Memory limit: 128MB Input: Output:

Giovani, sătul să piardă atât de mult la șah mutând pionii din fața regelui, incearcă să se orienteze spre alte activități și se înscrie la concursul anual de alergare dintre satul său natal, Păpucești și satul rival, Băbana. Competiția constă în a alerga cea mai mare distanță într-un anumit timp TT fixat, cronometrat de comisia sătenilor. Pentru a face asta, comisia sătenilor dispune de un cronometru care pornește de la TT. Odată activat, cronometrul va scădea cu câte o unitate de timp. Considerăm că la fiecare decrementare a cronometrului Giovani parcurge o unitate de lungime. Cum nu este nici un mare sportiv, Giovani îi cere ajutorul prietenului său, hackerul Cosminel. Cosminel îi spune că poate opri cronometrul comisiei, dar doar la anumite intervale de timp [li,ri][l_i, r_i], nu neapărat disjuncte, pentru a nu ridica suspiciuni. Afișați distanța cea mai mare pe care o poate parcurge Giovani până când cronometrul ajunge la 00 considerând că acesta poate trage de timp până la orice moment de pornire al cronometrului (număr natural) și că timpul începe de la momentul 11.

Date de intrare

Pe prima linie din consolă se găsește un număr întreg NN, reprezentând numărul de segmente în care valoarea cronometrului nu se modifică, urmat de un număr întreg TT, reprezentând valoarea inițială a cronometrului. Pe urmatoarele nn linii se găsesc două numere întregi, lil_i și rir_i reprezentând unul din intervalele de timp în care valoarea lui TT rămâne nemodificată.

Date de ieșire

Se va afișa un singur număr natural, distanța maximă pe care o poate parcurge Giovani dacă alege optim momentul de timp la care este pornit cronometrul.

Restricții și precizări

  • 1T1091 \leq T \leq 10^9;
  • 1N21051 \leq N \leq 2 * 10^5;
  • 1liri1091 \leq l_i \leq r_i \leq 10^9;
  • Pentru 2020 de puncte, N500N \leq 500 și T500T \leq 500;
  • Pentru 3030 de puncte, N1000N \leq 1000;
  • Pentru 5050 de puncte, nu există restricții suplimentare.

Exemplul 1

stdin

7 10
5 7
31 33
16 18
25 26
11 12
30 32
17 20

stdout

18

Explicație

În primul exemplu, cronometrul poate fi pornit la momentul 1616 și va ajunge la 00 la momentul 3434. Distanța parcursă în acest timp este 3416=1834 - 16 = 18.

Exemplul 2

stdin

1 1000000000
1 1000000000

stdout

1999999999

Explicație

În al doilea exemplu, cronometrul poate fi pornit la momentul 11 si ajunge la 00 la momentul 2 000 000 0002 \ 000 \ 000 \ 000. Distanța parcursă va fi 2 000 000 0001=1 999 999 9992 \ 000 \ 000 \ 000 - 1 = 1 \ 999 \ 999 \ 999.

Log in or sign up to be able to send submissions!