#2297. 字符串

字符串

字符串

题目描述

给定整数 NN 和四个字符 cAA,cAB,cBA,cBBc_{AA},c_{AB},c_{BA},c_{BB}。这四个字符均为 A 或 B。

初始时有一个字符串 s=s= AB。

你可以进行若干次操作。每次操作选择字符串中相邻的两个字符,并根据这两个字符在它们中间插入一个新字符:

  1. 若相邻字符为 AA,则在中间插入 cAAc_{AA}。
  2. 若相邻字符为 AB,则在中间插入 cABc_{AB}。
  3. 若相邻字符为 BA,则在中间插入 cBAc_{BA}。
  4. 若相邻字符为 BB,则在中间插入 cBBc_{BB}。

请你求当字符串长度恰好变为 NN 时,可能得到多少种不同的字符串。答案对 109+710^9+7 取模。

如果不同的操作顺序产生了相同的最终字符串,只计为一种。N=2N=2 时可以不操作。

输入格式

输入共五行,依次为:

N
c_AA
c_AB
c_BA
c_BB

其中第 22 至第 55 行各包含一个字符 A 或 B。

输出格式

输出一行一个整数,表示不同字符串数量对 109+710^9+7 取模后的结果。

样例 1

4
A
B
B
A
2

可能得到的字符串有 ABAB 和 ABBB 两种。

样例 2

见下发文件:string2.in 与 string2.out。

样例 3

见下发文件:string3.in 与 string3.out。

数据范围

对于 100%100\% 的数据,2≤N≤1062\le N\le10^6,$c_{AA},c_{AB},c_{BA},c_{BB}\in\{\mathrm{A},\mathrm{B}\}$。

测试点编号 分值合计 N≤N\le 特殊性质
01~02 10 88 无
03~04 1515
05~08 20 20002000
09~12 10510^5
13~20 40 10610^6

更多样例

以下 2 组样例取自原题附件: