Dế Mèn đi học phải qua một con sông có \(N\) hòn đá xếp thẳng hàng, đánh số \(1, 2, \dots, N\) theo chiều từ nhà đến trường. Mỗi ngày Dế Mèn xuất phát từ hòn đá \(1\) và phải kết thúc tại hòn đá \(N\).
Đứng ở hòn đá \(x\), Dế Mèn nhảy tới hòn đá \(x + d\) với \(d\) là một số nguyên dương nằm trong một trong \(K\) đoạn số nguyên đôi một không giao nhau \([L_1, R_1], [L_2, R_2], \dots, [L_K, R_K]\) (không được nhảy vượt quá hòn đá \(N\)). Hai cách đi là khác nhau nếu chuỗi các hòn đá đã đặt chân lên khác nhau.
Đếm số cách đi khác nhau từ hòn đá \(1\) đến hòn đá \(N\), in kết quả chia lấy dư cho \(1000000007\). (Nếu \(N = 1\) thì có đúng \(1\) cách: không nhảy.)
Input
- Dòng đầu: hai số nguyên \(N\) và \(K\).
- \(K\) dòng tiếp theo, dòng thứ \(i\) gồm hai số nguyên \(L_i, R_i\).
Output
- In ra số cách đi khác nhau, modulo \(1000000007\).
Constraints
- \(1 \le N \le 200000\), \(1 \le K \le 10\).
- \(1 \le L_i \le R_i \le N\); các đoạn đôi một không giao nhau.
- Subtask: \(20\%\) số test có \(N \le 10\), \(K = 1\); \(30\%\) có \(N \le 1000\), \(K = 1\); \(20\%\) có \(N \le 10000\); còn lại \(N \le 200000\).
Sample Input
9 3
1 1
3 3
5 6
Sample Output
22
Bình luận
Đăng nhập để bình luận
Chưa có bình luận nào.