#P9811. Hello World 3 Pro Max

Hello World 3 Pro Max

Hello World 3 Pro Max

Problem Description

Once upon a time, Markyyz invented a problem named "Hello World". Later, Markyyz invented a problem named "Hello World 2", which is a harder version of "Hello World". Two thousand years later, SPY invented a problem named "Hello World 3", which is an even harder version of "Hello World". Now, SPY is inventing a problem named "Hello World 3 Pro Max", which is ... SPY has a string SS of length nn consisting of lowercase letters: h,e,l,o,w,r,dh,e,l,o,w,r,d. The string is generated randomly in the following way: for each character in SS, it is independently generated from the set {h,e,l,o,w,r,d}\{h,e,l,o,w,r,d\} with possibilities p1,p2,...,p7p_1,p_2,...,p_7. In other words, there is a probability of p1p_1 for the letter hh, p2p_2 for the letter ee, and so on. It is guaranteed that sum of pip_i's is equal to 1. Initially, each character of string SS is unknown. Then, SPY will perform qq operations of two types: Type 1: 1 x c1\ x\ c, which means SPY determines that the character SxS_x is cc. In this problem, the characters in string SS are indexed starting from 1, so SS can be expressed as S1S2S3...SnS_1S_2S_3...S_{n}. It is guaranteed that no two operations will conflict with each other. Type 2: 2 l r2\ l\ r, which means SPY wants to know the expected number of subsequences equals to helloworldhelloworld in the substring S(l,r)S(l,r), modulo 109+710^9+7. Here, S(l,r)S(l,r) means the substring of SS starting at index ll and ending at index rr (formally SlSl+1...SrS_lS_{l+1}...S_r). After each operation of Type 2, you should answer the query by outputting the expected number on a separate line, modulo 109+710^9 + 7.

Input

There are multiple tests. The first line of input consists a single integer tt(1t10)(1\le t\le 10), representing the number of test cases. In each test case, the following lines provide the details: The first line consists a single integer nn(1n5×104)(1\le n\le 5\times10^4), representing the length of string SS. The second line contains 7 integers P1,P2,...,P7P_1,P_2,...,P_7(1Pi108)(1\le P_i\le 10^8). Let Pt=P1+P2+...+P7P_t=P_1+P_2+...+P_7 be the sum of these values. The possibilities of the letters are defined as pi=PiPtp_i=\frac{P_i}{P_t}. The third line contains a single integer qq(1q5×104)(1\le q\le 5\times10^4), representing the number of operations. The next qq lines describe the operations, each line specifying the type and parameters of the operation. It is guaranteed that sum of nn in all test cases will not exceed 5×1045\times10^4, sum of qq in all test cases will not exceed 5×1045\times10^4.

Output

After every operation of Type 2, output the expected number on a single line, modulo 109+710^9+7.

Sample Input

1
11
1 1 1 1 1 1 1
16
1 1 h
2 1 11
2 2 11
1 2 e
1 3 l
1 4 l
1 5 l
2 1 11
1 6 o
1 7 w
2 2 11
1 8 o
1 9 r
1 10 l
1 11 d
2 1 11

Sample Output

667718262
953066461
937670535
0
3

Source

2023“钉耙编程”中国大学生算法设计超级联赛(2)