#2108. 徐老师的完美彩带

徐老师的完美彩带

题目描述

徐老师有一根彩带,这根彩带上一共有 2626 种不同的颜色,并且彩带均匀的分割成了长度为 11 的部分,每一块都有一种颜色,为了方便描述颜色,每种颜色用一个小写字母表示

现在徐老师要用这些彩带来组成一根他心目中完美的彩带,于是他先把这根彩带全部剪开,变成了一堆纯色且长度为 11 的彩带片,对于 aza \sim z 每种颜色依次有 aia_i

而徐老师希望得到一根长度为 nn 的完美彩带 ss,完美彩带需要满足两个条件:

  1. 首先要保证,组成这根彩带的任意两个相邻的彩带片的颜色满足 sisi+1s_i \leq s_{i+1}
  2. 这根完美彩带中必须包含着一个长度为 mm 的次完美彩带 bbbib_i 可以不连续),例如 b=abcdb=abcd,那么对于 s=abccd,adbdcds=abccd,adbdcd 都是满足的

现在徐老师想知道,按他手里现有的这些彩带片,他能组合出多少种不同的完美彩带?

由于方案数可能很大,请你将答案对 1e9+71e9+7 取模

输入格式

输入第一行包含两个整数 n,mn,m,含义如题

输入第二行包含 2626 个整数 aia_i,依次表示 aza \sim z 每种颜色的彩带片数量

输入第三行包含一个字符串 bb,依次表示次完美彩带的颜色,其中每种颜色用一个小写字母表示

输出格式

输出一个整数,表示徐老师能组合出多少种不同的完美彩带,答案对 1e9+71e9+7 取模,若不存在合法方案则输出 00

数据范围

测试点编号 mm \leq 特殊性质
11 10001000 只有一个 aia_i 不是 00
22 11
33 22
44 10001000 只有两个 aia_i 不是 00
55 所有 aia_i 之和小于 2020
66 10001000 答案小于 109+710^9+7
77 可能的方案数为 00
88 bb 序列中存在bi>bi+1b_i > b_{i+1}
9109 \sim 10

对于所有数据,有 1mn1000,1ai1091 \leq m \leq n \leq 1000, 1 \leq a_i \leq 10^9

样例输入

6 4
1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 9
abcd

样例输出

277

样例解释

可能的方案为

  1. abccdabccd 后拼接 dzd \sim z 中的任意一个字符,方案为 2323
  2. abcddabcdd 后拼接 eze \sim z 中的任意一个字符,方案为 2222
  3. 22 号方案,abcdeabcdyabcde \sim abcdy 依次有 21+20+19+1=23121+20+19+ \dots 1 =231
  4. abcdzzabcdzz 一种

共计方案 23+22+231+1=27723+22+231+1=277