#ARC108D. AB

AB

AB

时间限制:2s
空间限制:1024MB

题目描述

给定整数 NN 以及四个字符 $c_{\mathrm{AA}},c_{\mathrm{AB}},c_{\mathrm{BA}},c_{\mathrm{BB}}$,每个字符均为 A 或 B。

初始字符串 ss 为 AB。若相邻两个字符为 x,y∈{A,B}x,y\in\{\texttt{A},\texttt{B}\},你可以在它们之间插入字符 cxyc_{xy}。可以按任意顺序进行操作,直到字符串长度变为 NN。

求最终可能得到的不同字符串数量,对 109+710^9+7 取模。

输入格式

N
c_AA
c_AB
c_BA
c_BB

输出格式

输出答案对 109+710^9+7 取模后的值。

样例输入 1

4
A
B
B
A

样例输出 1

2

样例输入 2

1000
B
B
B
B

样例输出 2

1

数据范围

  • 2≤N≤10002\le N\le1000;
  • $c_{\mathrm{AA}},c_{\mathrm{AB}},c_{\mathrm{BA}},c_{\mathrm{BB}}\in\{\texttt{A},\texttt{B}\}$。
子任务编号 分值 特殊限制
1 8 N≤9N\le9
2 18 N≤16N\le16
3 20 cAB=cBAc_{\mathrm{AB}}=c_{\mathrm{BA}}
4 24 cAB=Bc_{\mathrm{AB}}=\texttt{B}
5 30 无特殊限制