#P2546. [ABC313E] Duplicate

[ABC313E] Duplicate

题目描述

约定 SiS_i 为字符串 SS 的左起第 ii 个字符,S|S| 为字符串 SS 的长度。

对于一个由数字字符 19 组成的字符串 SS,定义 f(S)f(S) 为根据以下流程生成的字符串 TT:

  • TT 一开始是空字符串;
  • 对于 i=1,2,3,,S1i=1,2,3,\cdots,|S|-1,将 SiS_i 加到 TT 的末尾 nn 次,其中 nnSi+1S_{i+1} 表示的数。

比如,S=S= 313 时,如下步骤得到 f(S)=f(S)= 3111

  • TT 一开始是空字符串;
  • 对于 i=1i=1,有 n=1n=1,将 3 加到 TT 的末尾 11 次,此时 T=T= 3
  • 对于 i=2i=2,有 n=3n=3,将 1 加到 TT 的末尾 33 次,此时 T=T= 3111
  • f(S)=T=f(S)=T= 3111

输入一个长度为 nn 的,由数字字符 19 组成的字符串 SS

现在不断地用 f(S)f(S) 替换 SS,直到 S=1|S|=1,输出进行的替换次数对 998244353998244353 取模的值。若无法在有限次替换内使得 S=1|S|=1,输出 -1

例如输入 n=3n=3S=S= 313,需要进行如下 44 次替换:

$\texttt{313} \to \texttt{3111} \to \texttt{311} \to \texttt{31} \to \texttt{3}$

所以输出 4

输入格式

第一行一个整数 nn2n1062 \leq n \leq 10^6

第二行一个长度为 nn 的字符串 SS

输出格式

一个整数表示答案。

3
313
4
9
123456789
-1
2
11
1