AT_abc470_f [ABC470F] Googol Swaps
Description
You are given a string $ S $ of length $ N $ consisting of lowercase English letters.
Find the number, modulo $ 998244353 $ , of strings that $ S $ can become after performing the following operation **exactly** $ 10^{100} $ times.
- Choose an integer $ i $ between $ 1 $ and $ M $ , inclusive, and swap the $ A_i $ -th and $ B_i $ -th characters of $ S $ .
Input Format
The input is given from Standard Input in the following format:
> $ N $ $ M $ $ S $ $ A_1 $ $ B_1 $ $ \vdots $ $ A_M $ $ B_M $
Output Format
Output the answer.
Explanation/Hint
### Sample Explanation 1
The following six strings are possible as the final $ S $ :
- `marii`
- `mirai`
- `miria`
- `ramii`
- `rimai`
- `rimia`
### Constraints
- $ N $ and $ M $ are integers.
- $ 2 \leq N \leq 2 \times 10^5 $
- $ 1 \leq M \leq 2 \times 10^5 $
- $ S $ is a string of length $ N $ consisting of lowercase English letters.
- $ A_i $ and $ B_i $ are integers.
- $ 1 \leq A_i < B_i \leq N $
- $ (A_1, B_1), \dots, (A_M, B_M) $ are pairwise distinct.