Bạn được cho một số nguyên dương chẵn ~n~, đồng thời là ~k~ cặp số ~(l_i, r_i)~ thỏa mãn điều kiện ~1 \le l_1 < r_1 < l_2 < r_2 < \ldots < l_k < r_k \le n~. Hãy đếm số lượng xâu ngoặc đúng~^\dagger~ ~s~ có độ dài ~n~ thỏa mãn điều kiện sau, modulo ~998\,244\,353~:
- Với mọi ~1 \le i \le k~, ~s_{l_i} \neq s_{r_i}~.
~^\dagger~ Một xâu ~s~ được tạo thành từ hai loại kí tự ~\mathtt{(}~ và ~\mathtt{)}~ được gọi là xâu ngoặc đúng nếu ~s~ thỏa mãn một trong ba điều kiện sau:
~s~ rỗng.
~s~ có dạng "~\mathtt{(} t \mathtt{)}~", với ~t~ cũng là xâu ngoặc đúng.
~s~ có dạng "~ab~", với ~a~ và ~b~ là hai xâu ngoặc đúng.
Input
Mỗi test gồm nhiều test case. Dòng đầu tiên chứa số lượng test case ~t~ (~1 \leq t \leq 10\,000~). Mô tả của mỗi test case như sau.
Dòng đầu tiên chứa hai số nguyên ~n~ và ~k~ (~2 \le n \le 2 \cdot 10^5~, ~n~ chẵn, ~0 \le k \le \frac{n}{2}~) — độ dài của xâu ~s~ và số được cặp số được cho.
Dòng thứ ~i~ trong ~k~ dòng tiếp theo chứa hai số nguyên ~l_i~ và ~r_i~ biểu diễn cặp số thứ ~i~ được cho. Đảm bảo rằng điều kiện ~1 \le l_1 < r_1 < l_2 < r_2 < \ldots < l_k < r_k \le n~ được thỏa mãn.
Đảm bảo rằng tổng của ~n~ qua tất cả các test case không vượt quá ~2 \cdot 10^5~.
Output
Với mỗi test case, in ra một số nguyên là số lượng xâu ngoặc đúng ~s~ thỏa mãn điều kiện đề bài, modulo ~998\,244\,353~.
Scoring
Subtask | Điểm | Ràng buộc |
---|---|---|
1 | ~1000~ | Tổng của ~n~ không vượt quá ~2000~ |
2 | ~1500~ | ~l_i + 1 = r_i~ với mọi ~1 \le i \le k~ |
3 | ~1500~ | Không có ràng buộc gì thêm |
Tổng | ~4000~ |
Sample Input 1
5
6 0
4 2
1 2
3 4
8 1
1 8
8 2
1 3
5 8
20 4
2 8
9 10
15 17
19 20
Sample Output 1
5
1
14
3
692
Notes
Ở test case đầu tiên, các xâu hợp lệ là ~\mathtt{((()))}~, ~\mathtt{(()())}~, ~\mathtt{(())()}~, ~\mathtt{()(())}~, ~\mathtt{()()()}~.
Ở test case thứ hai, xâu duy nhất hợp lệ là ~\mathtt{()()}~.
Ở test case thứ tư, các xâu hợp lệ là ~\mathtt{(())(())}~, ~\mathtt{(())()()}~, ~\mathtt{(()(()))}~.
Bình luận