CSES - Teleportit
  • Time limit: 1.00 s
  • Memory limit: 128 MB

Pelaat peliä, jossa on n tasoa ja tehtäväsi on päästä tasolta 1 tasolle n. Pelissä on myös m teleporttia, joiden avulla voit liikkua tasolta toiselle. Peli on rakennettu niin, että miltään tasolta ei ole reittiä, joka palaisi samalle tasolle uudestaan.

Montako mahdollista tapaa sinulla on liikkua tasolta 1 tasolle n?

Syöte

Syötteessä on ensin kaksi kokonaislukua n ja m: tasojen määrä ja teleporttien määrä. Tasot on numeroitu 1,2,\ldots,n.

Sitten syötteessä on m riviä, jotka kuvaavat teleportit. Jokaisella rivillä on kaksi kokonaislukua a ja b. Tämä tarkoittaa, että tasolta a pääsee teleportilla tasolle b.

Tuloste

Tulosta yksi kokonaisluku: monellako tavalla voit läpäistä pelin. Luku voi olla suuri, joten tulosta se modulo 10^9+7.

Rajat

  • 1 \le n \le 10^5
  • 1 \le m \le 2 \cdot 10^5
  • 1 \le a,b \le n

Esimerkki

Syöte:

4 5
1 2
2 4
1 3
3 4
1 4

Tuloste:

3