三妖精say subsequence !!!
题号:NC309202
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

\hspace{15pt}给定一个长度为 n 的仅由小写字母组成的字符串 s
\hspace{15pt}桑妮、露娜和斯塔想从字符串中选出 \text{3} 个字符,组成一个新的长度为 \text{3} 的字符串,要求如下:
\hspace{23pt}\bullet 选出的三个字符两两不同。
\hspace{23pt}\bullet 新串中字符出现的顺序不要求与原字符串顺序一致。
\hspace{23pt}\bullet 两种选法被认为不同,当且仅当存在某一位所选择的字符在原字符串中的位置不同。
\hspace{15pt}请你计算满足条件的不同取法的数量,并将结果对 \text{998244353} 取模后输出。

输入描述:

\hspace{15pt}第一行输入一个整数 n \left(3 \leqq n \leqq 2 \times 10^5 \right)
\hspace{15pt}第二行输入一个长为 n 的字符串。

输出描述:

\hspace{15pt}输出一个整数,代表取法数量对 998244353 取模后的值。
示例1

输入

复制
3
abc

输出

复制
6

说明

可以取出的子串为 
示例2

输入

复制
4
abca

输出

复制
12

说明

可以取出的子串为 ,因为有两个 ,所以方案数翻倍。