vector chuẩn mực

Xem PDF

Điểm: 600 Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho vector \(a=(a_1,a_2,...,a_n)\). Một vector \(a\) được gọi là "chuẩn mực" nếu vector đó thoả mãn các điều kiện sau:

  • \(a_i\in \mathbb{N}\)

  • \(a_i+a_{i+1}<m (\forall 1\le i<n\))

  • \(a_1+a_n<m\)

Yêu cầu: Cho trước các số nguyên dương \(n,m\). Hỏi ta có thể xây dựng được bao nhiêu vector "chuẩn mực" khác nhau. (Hai vector "chuẩn mực" \(p\)\(q\) gọi là khác nhau nếu tồn tại phần tử \(j(1\le j\le n)\) thoả mãn \(p_j\ne q_j\)).

Input

  • Dòng thứ nhất chứa số \(t(1\le t\le 20)\) - Thể hiện số testcase của bài toàn

  • \(t\) dòng tiếp theo, mỗi dòng chứa \(2\) số nguyên \(n,m(2\le n\le 5*10^4 , 1\le m\le 10^9)\)

Output

  • Ứng với mỗi testcase, in ra đáp án cần tìm. (Vì đáp án có thể rất lớn, nên ta cần lấy mod \(998244353\) trước khi in ra

Example

Test 1

Input
2
3 2
5 9
Output
4
8105

Bình luận