#5048. Problem 2. Interstellar Intervals

0

Problem 2. Interstellar Intervals

Problem 2. Interstellar Intervals

USACO 2024 December Contest, Gold

It's the year 30003000, and Bessie became the first cow in space! During her journey between the stars, she found a number line with NN (2N51052 \leq N \leq 5 \cdot 10^5) points, numbered from 11 to NN. All points are initially colored white. She can perform the following operation any number of times.

  • Choose a position ii within the number line and a positive integer xx. Then, color all the points in the interval [i,i+x1][i, i + x - 1] red and all points in [i+x,i+2x1][i + x, i + 2x - 1] blue. All chosen intervals must be disjoint (i.e. no points in [i,i+2x1][i, i + 2x - 1] can be already colored red or blue). The entire interval must also fall within the number line (i.e. 1ii+2x1N1 \leq i \leq i + 2x - 1 \leq N).

Farmer John gives Bessie a string ss of length NN consisting of characters RR, BB, and XX. The string represents Farmer John's color preferences for each point: si=Rs_i=R means the ii'th point must be colored red, si=Bs_i = B means the ii'th point must be colored blue, and si=Xs_i = X means there is

no constraint

on the color for the ii'th point.

Help Bessie count the number of distinct ways for the number line to be colored while satisfying Farmer John's preferences. Two colorings are different if there is at least one corresponding point with a different color. Because the answer may be large, output it modulo 109+710^9+7.

INPUT FORMAT (input arrives from the terminal / stdin):

The first line contains an integer NN.

The following line contains string ss.

OUTPUT FORMAT (print output to the terminal / stdout):

Output the number of distinct ways for the number line to be colored while satisfying Farmer John's preferences modulo 109+710^9+7.

SAMPLE INPUT:


6
RXXXXB

SAMPLE OUTPUT:


5

Bessie can choose i=1,x=1i=1,x=1 (i.e. color point 11 red and point 22 blue) and i=3,x=2i=3,x=2 (i.e. color points 3,43,4 red and points 5,65,6 blue) to produce the coloring RBRRBBRBRRBB.

The other colorings are RRBBRBRRBBRB, RBWWRBRBWWRB, RRRBBBRRRBBB, and RBRBRBRBRBRB.

SAMPLE INPUT:


6
XXRBXX

SAMPLE OUTPUT:


6

The six colorings are WWRBWWWWRBWW, WWRBRBWWRBRB, WRRBBWWRRBBW, RBRBWWRBRBWW, RBRBRBRBRBRB, and RRRBBBRRRBBB.

SAMPLE INPUT:


12
XBXXXXRXRBXX

SAMPLE OUTPUT:


18

SCORING: Input 4: N500N\le 500Inputs 5-6: N104N\le 10^4Inputs 7-13: All but at most 100100 characters in ss are XX.Inputs 14-23: No additional constraints

Problem credits: Chongtian Ma, Alex Liang