一个字符串的权值被定义为该字符串包含的"lnc"子串个数。例如"lnclncc"的权值是 222,lnc的权值是 111,但是"lcncl"的权值是 000,因为它的所有子串都不为"lnc"。
"lnc"
"lnclncc"
lnc
"lcncl"
现在,ClaesClaesClaes 从 RhodoksRhodoksRhodoks 处收到了一个仅包含'l','n','c'三种字符的字符串用于表达他对 lnclnclnc 的爱意。
'l'
'n'
'c'
RhodoksRhodoksRhodoks 对 lnclnclnc 的爱意是这个字符串的所有子序列代表的字符串的权值之和。你想知道 RhodoksRhodoksRhodoks 到底有多爱 lnclnclnc ,于是你决定计算一下这个权值和。由于RhodoksRhodoksRhodoks 可能非常喜爱 lnclnclnc,该数字可能非常大。所以,你只需要将答案对 109+710^9+7109+7 取模并输出。
注:一个长度为 nnn 的字符串的子序列可以为空,所以共有 2n2^n2n 个。
一行一个字符串 s(1≤∣s∣≤105)s(1\leq |s| \leq10^5)s(1≤∣s∣≤105)。sss 仅包含'l','n','c'三种字符。
一个整数,表示答案。
llncc
9
在样例中,"llncc"的子序列中包含"lnc"的子序列为:
"llncc"
{[0,1,2,3],[0,1,2,3,4],[0,1,2,4],[0,2,3],[0,2,3,4],[0,2,4],[1,2,3],[1,2,3,4],[1,2,4]}\{[0,1,2,3],[0,1,2,3,4],[0,1,2,4],[0,2,3],[0,2,3,4],[0,2,4],[1,2,3],[1,2,3,4],[1,2,4]\}{[0,1,2,3],[0,1,2,3,4],[0,1,2,4],[0,2,3],[0,2,3,4],[0,2,4],[1,2,3],[1,2,3,4],[1,2,4]}
这些子序列所代表的字符串的权值均为 111,所以答案为 999。