#2639. [TJOI2019] 甲苯先生的字符串

    ID: 2639 远端评测题 1000ms 125MiB 尝试: 0 已通过: 0 难度: 8 上传者: 标签>动态规划多维DP线性代数矩阵乘法

[TJOI2019] 甲苯先生的字符串

题目描述

一天小甲苯得到了一条神的指示,他要把神的指示写下来,但是又不能泄露天机,所以他要用一种方法把神的指示记下来。神的指示是一个字符串,记为字符串 s1s_1s1s_1 仅包含 2626 个小写字母。现在小甲苯想要写下神的指示,记为字符串 s2s_2s2s_2 仅包含 2626 个小写字母,要求 s1s_1 中的相邻的两个字母不能在 s2s_2 中相邻地出现。现在给定 s2s_2 的长度,小甲苯想知道他有多少种方法可以将神的指示写下来。输出种类数结果对 109+710^9+7 取模。

输入格式

第一行只有一个正整数 nn,代表字符串 s2s_2 的长度。

第二行是一个字符串,代表字符串 s1s_1

输出格式

输出一个整数,表示小甲苯可以写出的字符串的总数。结果对109+710^9+7 取模

2
ab
675

提示

  • 对于 30%30\% 的数据 n100000n\le100000
  • 对于 100%100\% 的数据 1n10151 \le n\le10^{15}s1105|s_1| \le 10^5

说明:相邻要求顺序相同,如样例中的 s2s_2 里不能出现 ab\text{ab},且仅不能出现 ab\text{ab},但可以出现 ba\text{ba}