#P1023. 序列切割

序列切割

题目描述

给定一个长度为 nn 的序列 aa 和一个仅包含字符 LR 的长度为 kk 的字符串 SS,你需要对这个序列执行 kk 次操作,对于第 ii 次操作:

  • 若序列长度为 11,不需要执行任何操作。
  • 否则,设当前序列长度为 mm,均匀随机地在 [1,m1][1,m-1] 中选择一个整数 xx,将当前 aa 切割为 a[1,x]a[1,x]a[x+1,m]a[x+1,m]。接下来,如果 SiS_i 等于 L,令 aa[1,x]a\gets a[1,x],否则令 aa[x+1,m]a\gets a[x+1,m]

求执行 kk 次操作后 aa 数组的期望元素和。答案对 109+710^9+7 取模。

其中 a[l,r]a[l,r] 表示子数组 [al,al+1,,ar][a_l,a_{l+1},\dots,a_r],数组下标从 11 开始编号。

输入格式

第一行一个整数 TT 表示数据组数。

对于每组数据:

第一行两个整数 n,kn,k

第二行 nn 个整数 a1na_{1\sim n}

第三行一个长度为 kk 的字符串 SS

输出格式

对于每组数据,输出一行一个整数表示答案。

2
5 1
1 2 3 4 5
L
5 2
1 2 3 4 5
LR
5
416666673

数据范围

对于 30%30\% 的数据,n,k10\sum n,\sum k\leq 10

对于 60%60\% 的数据,n,k100\sum n,\sum k\leq 100

对于 100%100\% 的数据,1T5001\leq T\leq 5001n,k,n,k5001\leq n,k,\sum n,\sum k\leq 5001ai1091\leq a_i\leq 10^9SS 中仅包含 LR 两种字符。