Deleting Edges
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld

题目描述

给定一张简单无向图 G=(V,E),进行如下游戏:
- 如果 E=\varnothing,那么游戏结束,得分为 1
- 等概率随机选择一个点的子集 SS 可以为空)。
- 如果 S 不是一个独立集,那么游戏结束,得分为 0
- 如果 S 是一个独立集,那么 E'=E\cap\{(u,v)\mid u\in S\vee v\in S\}G'=(V,E'),并将 G 替换为 G'
求期望得分。答案对 998244353 取模。
可以证明答案为有理数 \frac{p}{q},你需要输出 r 使得 qr\equiv p\pmod {998244353}可以证明这样的 r 一定存在。

输入描述:

第一行,两个整数,n,m
接下来 m 行,每行两个整数 u,v,表示图中一条边。

输出描述:

一行,一个整数,表示答案。
示例1

输入

复制
3 3
1 2
2 3
3 1

输出

复制
748683265
示例2

输入

复制
10 10
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
10 1

输出

复制
474650225

备注:

1\le n\le 20,1\le m\le\dfrac{n(n-1)}{2},保证无重边、自环。