- 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