GRID4


Submit solution

Points: 20
Time limit: 1.0s
Memory limit: 512M

Problem type

Cho một lưới ô vuông có kích thước \(n×n\) . Cần di chuyển từ ô \((1,1)\) sang ô \((n,n)\). Trên mỗi bước, bạn có thể di chuyển một ô sang phải hoặc xuống dưới. Ngoài ra, có m ô chướng ngại vật trong lưới. Bạn không thể di chuyển đến một ô có chướng ngại vật.

Yêu cầu: Tính tổng số cách có thể di chuyển từ ô \((1,1)\) đến ô \((n,n)\) theo quy tắc trên.

Input

  • Dòng đầu tiên chứa hai số nguyên \(n,m(1≤n≤10^6,m≤1000).\)

  • \(m\) dòng tiếp theo mô tả các ô chướng ngại vật. Mỗi dòng trong \(m\) dòng chứa hai số nguyên \(x\) \(y\) mô tả ô chướng ngại vật.

Dữ liệu đảm bảo không có bẫy trong hình vuông trên cùng bên trái và dưới cùng bên phải.

Output

  • Một dòng duy nhất chứa tổng số cách di chuyển sau khi modulo cho \(10^9+7\).

Ràng buộc

  • Subtask 1: \(n≤10^3\)

  • Subtask 2: \(n≤10^6\)

Sample Input

3 1  
2 2

Sample Output

2

Comments

There are no comments at the moment.