Cột dây

Xem PDF

Điểm: 100 (p) Thời gian: 2.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Trên một thửa ruộng hình chữ nhật kích thước \(m\times n\), người ta đóng các cọc tại mọi vị trí \((i,j)\) với \(i,j\in\mathbb{N}\)\(0 \le i \le m,\;0 \le j \le n\), tổng cộng \((m+1)\times(n+1)\) cọc. Người nông dân Hoàng muốn mắc một dây đèn giữa hai cọc bất kỳ theo một đường thẳng sao cho không có cọc nào khác nằm giữa hai cọc được chọn. Giả sử hai cọc cách nhau khoảng cách \(x\); khi đó Hoàng cần một đoạn dây dài ít nhất \(x\). Đồng thời, anh cũng yêu cầu khoảng cách giữa hai cọc không được nhỏ hơn \(L\) để đảm bảo ánh sáng bao phủ toàn bộ ruộng. Biết rằng chiều dài dây đèn hiện có là \(H\), hãy giúp Hoàng đếm xem có bao nhiêu cặp cọc thỏa mãn các điều kiện trên.

Input

  • Gồm \(4\) số \(m, n, L, H\) \((1\le m, n, L, H \le 10^5)\).

Output

  • Gồm một số nguyên duy nhất là đáp án của bài toán, lấy dư cho \(10^9 + 7\).

Scoring

  • Subtask \(1\) (\(30\%\) số điểm): \(m, n \le 10^2\).
  • Subtask \(2\) (\(30\%\) số điểm): \(m, n \le 10^3\).
  • Subtask \(3\) (\(40\%\) số điểm): Không có ràng buộc gì thêm.

Example

Test 1

Input
2 2 1 3
Output
28

Bình luận

Không có bình luận nào.