#99. Tuyến đường du lịch (Mã bài: TOURIST)

Bộ nhớ: 512 MiB Thời gian: 1000 ms Nhập/xuất từ luồng chuẩn
Kiểu bài: Thông thường Kiểu chấm: So sánh văn bản
Đưa lên bởi: Trùm CUỐI

Đề bài

Một nhóm học sinh tiểu học đến một thành phố mới để tham quan và quyết định ghé thăm các di tích lịch sử ở đây. Chúng ta có thể coi thành phố này là một lưới hình chữ nhật kích thước n \times m , trong đó một số ô có các điểm tham quan.

Các bạn nhỏ bắt đầu hành trình từ ô (1, 1) , muốn đến ô (n, m) , và sau đó quay trở lại điểm xuất phát. Ngoài ra, trong thành phố có k điểm tham quan, nằm ở các ô (x_1, y_1), \ldots, (x_k, y_k) , và họ phải ghé thăm tất cả các điểm này.

Hình minh họa

Họ có thể mất một phút để di chuyển từ ô (a, b) đến một ô kề cạnh (c, d) , nếu chúng kề nhau về cạnh, tức là thỏa mãn |a - c| + |b - d| = 1 . Rõ ràng, để hoàn thành toàn bộ tuyến đường cần ít nhất 2n + 2m - 4 phút, và chúng ta chỉ xem xét các tuyến đường có độ dài đúng bằng khoảng thời gian này.

Một tuyến đường được gọi là tuyến đường thú vị nếu thỏa mãn các điều kiện sau:

  • Họ mất đúng 2n + 2m - 4 phút để hoàn thành tuyến đường;
  • Mỗi ô trên tuyến đường được đi qua nhiều nhất một lần;
  • Tuyến đường phải đi qua tất cả các ô chứa điểm tham quan.

Hãy giúp các bạn học sinh tính xem có tổng cộng bao nhiêu tuyến đường thú vị khác nhau. Vì kết quả có thể rất lớn, hãy in ra kết quả sau khi lấy mô-đun cho 10^9 + 7 .

Dữ liệu:

  • Dòng đầu tiên chứa ba số nguyên n , m k (3 \leq n, m \leq 10^6, 0 \leq k \leq 2000) .
  • Trong k dòng tiếp theo, mỗi dòng chứa hai số nguyên x_i, y_i (1 \leq x_i \leq n, 1 \leq y_i \leq m) , cho biết vị trí của điểm tham quan thứ i . Đảm bảo rằng tất cả các cặp (x_i, y_i) là khác nhau.

Kết quả: In ra một số nguyên duy nhất là số lượng tuyến đường thú vị, lấy mô-đun cho 10^9 + 7 .

Ví dụ:

Dữ liệu:

3 4 2
2 2
2 3

Kết quả:

6

Giải thích:

Hình giải thích các tuyến đường

Dữ liệu:

3 4 3
3 1
2 3
1 4

Kết quả:

0

Giới hạn:

  • Subtask #1: 25\% số điểm có n, m, k \le 30 ;
  • Subtask #2: 25\% số điểm khác có n, m \le 10^6 ; k \le 16 ;
  • Subtask #3: 25\% số điểm khác có n, m \le 10^6 ; k \le 100 ;
  • Subtask #4: 25\% số điểm còn lại không có ràng buộc bổ sung.