Chào mừng các thí sinh đến với APLSPC!
Như mọi người đã biết, dữ liệu của các kỳ thi thường được chuẩn bị vào đêm trước ngày thi.
Thật không may, khi Đại đế kiểm tra dữ liệu của một bài toán lý thuyết đồ thị trước kỳ thi NFLSPC, ông phát hiện ra rằng hai dòng đầu tiên của tất cả các bộ dữ liệu đã bị "tiểu P" xấu xa xóa mất.
Nhìn vào những dữ liệu còn sót lại, Đại đế đột nhiên muốn biết có bao nhiêu cách để khôi phục hai dòng đầu tiên sao cho dữ liệu trở nên hợp lệ, kết quả lấy modulo $998244353$.
Vì Đại đế là Đại đế, ông đã đưa tệp đầu vào cho bạn để giải quyết vấn đề này.
Đại đế cũng nhân từ quyết định đảm bảo rằng luôn tồn tại ít nhất một cách khôi phục hợp lệ.
Cho một số dòng dữ liệu. Hãy tính xem có bao nhiêu cách khôi phục dữ liệu đầu vào sao cho:
- Dữ liệu sau khi xóa hai dòng đầu tiên bằng với các dòng dữ liệu đã cho.
- Dữ liệu hoàn chỉnh thỏa mãn hoàn toàn định dạng đầu vào của bài toán gốc.
Định dạng đầu vào của bài toán gốc như sau:
Dòng đầu tiên là một số nguyên dương $T$, theo sau là $T$ bộ dữ liệu.
Dòng đầu tiên của mỗi bộ dữ liệu là hai số nguyên dương $n, m$.
Tiếp theo là $m$ dòng, mỗi dòng gồm hai số nguyên dương $u, v\ (1\leq u,v\leq n)$, mô tả một đồ thị.
Đồ thị có thể không liên thông, có thể có cạnh lặp và khuyên.
Giới hạn của bài toán gốc là:
$1\le T \leq 2\times 10^5$; $1\le n,m \leq 2\times 10^5$.
Dữ liệu đầu vào gồm một số dòng (không quá $2\times 10^5$ dòng), mỗi dòng gồm hai số nguyên dương.
Kết quả là một dòng duy nhất chứa một số nguyên dương là số cách khôi phục sau khi lấy modulo $998244353$.
Đối với tất cả các dữ liệu: Tất cả các số trong đầu vào nằm trong phạm vi $[1, 2\times 10^5]$, số dòng đọc vào không quá $2\times 10^5$.
Ví dụ
Dữ liệu vào 1
2 1 1 1
Dữ liệu ra 1
199999