CSES - Ruudukko
  • 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