小红的子序列计数
题号:NC318129
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

\hspace{15pt}小红认为一个仅包含数字的字符串是好的,当且仅当将其转化为 10 进制数并去除前导零后的结果是 6 的倍数,如 \texttt{06},\texttt{48},\texttt{0} 都是好的。
\hspace{15pt}给定一个长为 n 的仅包含数字的字符串 s。请你计算有多少 s 的非空子序列是好的。由于答案可能很大,请将答案对 998244353 取模后输出。

【名词解释】
\hspace{15pt}子序列:从原序列中删除任意个(可以为零,也可以为全部)元素,且保持剩余元素相对顺序不变得到的新序列。

输入描述:

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

输出描述:

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

输入

复制
5
01592

输出

复制
5

说明

\hspace{15pt}合法的子序列有 \texttt{0},\texttt{12},\texttt{012},\texttt{192},\texttt{0192}
示例2

输入

复制
13
1145141919810

输出

复制
1720