#P1243. 2023.04.20-暑期实习-第二题-RB字符串

2023.04.20-暑期实习-第二题-RB字符串

题目内容

塔子哥是一个程序员,他最近在处理一些字符串相关的任务。他喜欢 R 字符,因为在某些任务中,这个字符通常表示“正确”的结果。另一方面,他不喜欢 B 字符,因为在某些任务中,这个字符通常表示“错误”的结果。

为了解决他的任务,塔子哥定义了字符串的权值为字符串中 R 字符的出现次数。例如,对于字符串 BBRBRB,它的权值为 22,因为其中有 22R 字符。

现在,塔子哥面临一个问题,他有一个长度为 nn 的字符串 ss,它仅由 RB 组成。他想知道,长度为 nn 的仅由 RB 组成的字符串中,字典序不小于 ss 的字符串的权值之和是多少?因此,他需要编写一个程序来解决这个问题。

由于答案可能太大,需要对 109+710^9+7 取模后再输出。

输入描述

输入第一行为一个整数 nn ,表示字符串的长度。

输入第二行为一个长度为 nn 的字符串 ss ,字符串中元素组成仅为 RB

2n1052\le n \le 10^5

输出描述

输出一个整数,代表长度为 nn 的、字典序不小于 ss 的字符串权值之和。

样例

输入

3
RBR

输出

7

样例解释

共有 33 个字符串符合要求: RBR 的权值为 22

RRB 的权值为 22

RRR 的权值为 33