Time limit: 1.0s , Memory limit: 256M , Points: 1
Cho ô hàng ngang được đánh số từ đến . Cho đoạn số nguyên, đoạn thứ có dạng , không có hai đoạn nào giao nhau. Đang ở vị trí ô thứ , bạn có thể thực hiện thao tác di chuyển như sau:
- Chọn một số nguyên sao cho tồn tại một chỉ số thỏa mãn , di chuyển đến ô .
Bạn hãy đếm số cách di chuyển từ ô thứ đến ô thứ .
Hai đoạn và được gọi là giao nhau khi và chỉ khi tồn tại một số nguyên thỏa mãn và .
Input
- Dòng đầu tiên chứa hai số nguyên và .
- dòng tiếp theo, dòng thứ chứa hai số nguyên và mô tả đoạn .
- Dữ liệu đảm bảo không có hai đoạn nào giao nhau.
Output
- In ra số cách di chuyển từ từ ô thứ đến ô thứ , kết quả chia lấy dư cho .
Examples
Sample Input 1
6 2
3 4
1 1
Sample Output 1
6
Sample Input 2
3 1
2 2
Sample Output 2
1
Notes
Trong ví dụ đầu tiên, có tổng cộng cách di chuyển như sau:
- \(1→2→3→4→5→6\)
- \(1→2→3→6\)
- \(1→2→5→6\)
- \(1→2→6\)
- \(1→4→5→6\)
- \(1→5→6\)
Comments