Ma trận ngọc (Chọn ĐT'20-21)

Xem PDF



Tác giả:
Dạng bài
Điểm: 300 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Sau khi rời khỏi khu cầu trượt, Ngọc đến với ma trận bí ẩn. Ma trận kích thước \(m * n\), các hàng được đánh số từ 1 đến \(m\) và các cột được đánh số từ 1 đến \(n\). Ở trong ma trận có một cái hồ, cái hồ sẽ trải dài trong hình chữ nhật con của trận có góc trái trên là (\(h_1,c_1\)) và góc phải dưới là (\(h_2,c_2\)). Ngọc sẽ di chuyển từ ô (1, 1), vì bản chất ngại di chuyển, Ngọc sẽ chỉ đi xuống ô bên dưới hoặc đi qua ô bên phải (từ ô (\(i,j\)) Ngọc sẽ chọn đi ô đến ô (\(i +1,j\)) hoặc (\(i,j + 1\))). Dù ngại di chuyển nhưng lại tò mò, Ngọc muốn tính xem có bao nhiêu lộ trình khác nhau để di chuyển từ ô (1,1) đến ô (\(m,n\)) thông qua cách đi đã nêu trên.

Đảm bảo rằng cái hồ sẽ không chứa 2 ô (1,1) và (\(m,n\)). Vì số lộ trình là quá lớn, các bạn hãy chia dư \(10^9 + 7\) trước khi đưa cho Ngọc nhé.

Yêu cầu: In ra số lộ trình sau khi \(\mod\ 10^9+7\)

Input

  • Dòng đầu tiên là số tự nhiên \(m\)\(n\) (\(1 \le n,m \le 10^5\)) là kích thước của ma trận
  • Dòng thứ hai chứa 4 nguyên dương \(h_1,c_1,h_2,c_2\) (\(1\le h_1 \le h_2 \le m ,1\le c_1 \le c_2 \le n\)) là góc trái trên và phải dưới của cái hồ.

Output

  • Ghi ra một số nguyên duy nhất - số cách chia.

Scoring

  • Subtask \(1\) (\(20\%\) số điểm): \(1 \le m ,n \le 10^3\)
  • Subtask \(2\) (\(30\%\) số điểm): \(h_1= h_2,c_1 = c_2\)\(1 \le m ,n \le 10^5\)
  • Subtask \(3\) (\(50\%\) số điểm): không có thêm dữ kiện nào cả.

Example

Test 1

Input
3 4
2 2 2 3
Output
2
Note

Ở ví dụ 1, ma trận có dạng sau

0000
0110
0000

Có 2 lộ trình, đi từ \((1, 1) \rightarrow (1, 2) \rightarrow (1, 3) \rightarrow (1, 4) \rightarrow (2, 4) \rightarrow (3, 4)\) hoặc \((1, 1) \rightarrow (2, 1) \rightarrow (3, 1) \rightarrow (3, 2) \rightarrow (3, 3) \rightarrow (3, 4)\).

Test 2

Input
1 5
2 2 2 2 
Output
0
Note

Ở ví dụ 2, ma trận có dạng sau

01000

Rõ ràng không có cách đi nào mà không đi qua hồ.


Bình luận