ABC042_D - Iroha và lưới ô vuông

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 2.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift

Chúng ta có một lưới ô vuông lớn có ~H~ hàng và ~W~ cột. Iroha hiện đang đứng ở vị trên trên cùng bên trái của lưới ô vuông này. Cô ấy sẽ lặp lại việc đi sang phải hoặc đi xuống dưới ô liền kề cho tới khi tới được ô dưới cùng bên phải.

Tuy nhiên, cô ấy không được phép di chuyển vào các ô nằm ở phía dưới hàng ~A~ và bên trái cột ~B~ (Có nghĩa là có ~A× B~ ô bị cấm) và không được di chuyển ra khỏi phạm vi của lưới ô vuông. Các ô còn lại thì có thể di chuyển vào bình thường.

Hãy tìm số cách cô ấy có thể đi đến ô dưới cùng bên phải.Vì con số này có thể rất lớn, hãy in ra kết quả sau khi module ~10^9 + 7~.

Input

  • Một dòng duy nhất gồm 4 giá trị lần lượt là ~H, W, A~ và ~B~.

Giới hạn:

  • ~1 \le H, W \le 100.000~
  • ~1 \le A \lt H~
  • ~1 \le B \lt W~

Output

  • In ra số cách mà Iroha có thể di chuyển tới ô dưới cùng bên phải, module ~10^9 + 7~.

Sample

Input #1
2 3 1 1

Output #1
2
Input #2
10 7 3 4

Output #2
3570

Input #3
100000 100000 99999 99999

Output #3
1

Input #4
100000 100000 44444 55555

Output #4
738162020

Problem source: AtCoder Beginner Contest 042


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.