- Time limit: 1.00 s
- Memory limit: 128 MB
Ruudukon koko on n \times n, vasen yläkulma on (1,1) ja oikea alakulma on (n,n).
Tehtäväsi on kulkea ruudukon vasemmasta yläkulmasta oikeaan alakulmaan. Saat liikkua joka askeleella ruudun oikealle tai alaspäin. Lisähaasteena ruudukossa on m ruutua, joissa on ansa. Et voi kulkea tällaiseen ruutuun.
Montako mahdollista reittiä on olemassa?
Syöte
Syötteen ensimmäisellä rivillä on kaksi kokonaislukua n ja m: ruudukon koko ja ansojen määrä.
Tämän jälkeen syötteessä on m riviä, joista jokainen kuvaa yhden ansan. Rivillä on kaksi kokonaislukua y ja x: ansan sijainti.
Jokainen ansa on eri kohdassa, ja voit lisäksi olettaa, että ruudukon vasen yläkulma ja oikea alakulma eivät ole ansoja.
Tuloste
Tulosta reittien määrä modulo 10^9+7.
Rajat
- 1 \le n \le 10^6
- 1 \le m \le 1000
- 1 \le y,x \le n
Esimerkki
Syöte:
3 1 2 2
Tuloste:
2