题目描述
Problem Description
Once upon a time, there was a toxic tumor.
The toxic tumor recently discovered the secret to mass-producing toxic problems. Consider the following type of data structure problem: given an array, support several strange modification operations (such as adding a number to a range, or taking the square root of a range), and support querying the sum of a range. The toxic tumor considered \( n \) such modification operations and numbered them from \( 1 \) to \( n \). When the toxic tumor wants to create a data structure problem, he selects some of these modification operations and turns them into a problem.
Of course, such problems might be unsolvable. Through exquisite mathematical reasoning, the toxic tumor revealed the relationships between these modification operations: there are \( m \) pairs of "mutually exclusive" modification operations, the \( i \)-th pair being the \( u_i \)-th and \( v_i \)-th operations. When a problem contains both \( u_i \) and \( v_i \) operations, the problem becomes unsolvable. On the other hand, a problem that does not contain any "mutually exclusive" modification operations is solvable. Additionally, the toxic tumor discovered a rule: \( m - n \) is a small number, and any two modification operations are connected. Two modification operations \( a \) and \( b \) are connected if and only if there exist several operations \( t_0, t_1, \cdots, t_l \) such that \( t_0 = a \), \( t_l = b \), and for \( 1 \leq i \leq l \), \( t_{i-1} \) and \( t_i \) are "mutually exclusive" modification operations.
A pair of "mutually exclusive" modification operations is called an exclusive pair. Now, the toxic tumor wants to know, given the values \( n \) and \( m \) exclusive pairs, how many different solvable data structure problems he can create. Two data structure problems are different if and only if there is a modification operation present in one problem but not in the other.
Input Format
The first line contains two positive integers \( n \) and \( m \).
The next \( m \) lines each contain two positive integers \( u \) and \( v \), representing a pair of "mutually exclusive" modification operations.
Output Format
Output a single integer, representing the number of different solvable "mutually exclusive" modification operations the toxic tumor can create. This number might be very large, so output it modulo \( 998244353 \).
Sample Input and Output
Sample Input #1
3 2
1 2
2 3
Sample Output #1
5
Sample Input #2
6 8
1 2
1 3
1 4
2 4
3 5
4 5
4 6
1 6
Sample Output #2
16
Sample Input #3
12 18
12 6
3 11
8 6
2 9
10 4
1 8
6 2
11 5
10 6
12 2
9 3
7 6
2 7
3 2
7 3
5 6
2 11
12 1
Sample Output #3
248
Notes
Sample One Explanation
Solvable problems include \( \varnothing, \{1\}, \{2\}, \{3\}, \{1, 3\} \). Note that the empty set is a valid data structure problem.
Data Range

输入格式
见题面 Input 部分
输出格式
见题面 Output 部分