dunarea

Time limit: 0.05s Memory limit: 4MB Input: dunarea.in Output: dunarea.out

Programul de reabilitare turistică a Dunării şi atragere a turiştilor a determinat autorităţile să decidă vânzarea de abonamente pe fiecare linie de croazieră existentă între porturile dunărene, la acelaşi preţ. Vasele unei linii de croazieră navighează între două porturi Xi,YiX_i, Y_i (1iN1 \leq i \leq N) şi opresc în toate porturile dintre acestea, Xi+1,Xi+2,,Yi1,YiX_i+1, X_i+2, \dots, Y_i-1, Y_i. Un pescar gălăţean se deplasează zilnic din portul AA în portul BB folosind liniile de croazieră şi ar vrea să reducă cheltuielile cât mai mult. El a ajuns la concluzia că un număr de abonamente pe câte o linie de croazieră, alese eficient, este mai avantajos decât cumpărarea câte unui bilet pentru fiecare călătorie. Din păcate există mai multe combinaţii de linii de croazieră care parcurg traseul de la AA la BB. Pescar fiind, matematica nu este punctul său forte, deci vă cere ajutorul pentru a stabili care este numărul minim de abonamente necesare pentru a ajunge din portul AA la BB.

Cerință

Scrieţi un program care, pe baza traseelor liniilor de croazieră, să calculeze şi să afişeze numărul minim de abonamente necesare pentru a ajunge de la AA la BB.

Date de intrare

Fişierul de intrare dunarea.in conţine pe prima linie trei numere naturale nenule A,BA, B şi NN separate prin câte un spaţiu. AA şi BB reprezintă porturile între care se deplasează zilnic pescarul. NN este numărul de linii de croazieră.
Pe următoarele NN linii se află câte 22 numere naturale nenule Xi,YiX_i,Y_i (1iN1 \leq i \leq N) separate prin câte un spaţiu, reprezentând porturile între care navighează linia de croazieră ii.

Date de ieșire

Fişierul de ieşire dunarea.out va conţine un singur număr natural nenul, reprezentând numărul minim de abonamente necesare

Restricții și precizări

  • 1A<B5 0001 \leq A \lt B \leq 5 \ 000
  • 1N5 0001 \leq N \leq 5 \ 000
  • 1XiYi5 0001 \leq X_i \leq Y_i \leq 5 \ 000
  • Se garantează pentru fiecare set de date de intrare existenţa a cel puţin unei linii de croazieră care acoperă întreg traseul de la AA la BB.
  • Pot să existe două sau mai multe linii de croazieră între aceleaşi porturi (cum se întâmplă în exemplul de mai jos cu liniile 11 şi 77).

Exemplu

dunarea.in

1 10 8
5 8
1 2
5 10
3 7
3 6
3 4
5 8
2 4

dunarea.out

4

Explicație

Sunt suficiente 44 abonamente pentru liniile: 22, 88, 44 şi 33

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