小红的部分相同字符串
题号:NC316143
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

\hspace{15pt}有一个未知的长度为 n 的字符串,保证该字符串仅由 26 个小写英文字母组成。现有 k 个限制条件,每个条件给出两个位置 uv,表示 s_u = s_v(即字符串中第 u 个字符与第 v 个字符相同)。
\hspace{15pt}请你计算在满足所有限制条件的情况下,有多少种不同的字符串。由于答案可能很大,请输出其对 998244353 取模的结果。

输入描述:

\hspace{15pt}第一行两个整数 n, k (1 \leqq n \leqq 2 \times 10^5, 0 \leqq k \leqq 2 \times 10^5),分别表示字符串长度和限制条件的数量。
\hspace{15pt}接下来 k 行,每行两个整数 u, v (1 \leqq u, v \leqq n),表示 s_u = s_v

输出描述:

\hspace{15pt}输出一行一个整数,表示不同的字符串数量对 998244353 取模的结果。
示例1

输入

复制
1 0

输出

复制
26
示例2

输入

复制
5 3
1 1
4 5
1 4

输出

复制
17576