Codeforces Round 284 (Div. 1)
D
Traffic Jams in the Land
Codeforces
2400
原题
← CE →
翻译中…

Some country consists of $(*n* + 1)$ cities, located along a straight highway. Let's number the cities with consecutive integers from $1$ to $*n* + 1$ in the order they occur along the highway. Thus, the cities are connected by $*n*$ segments of the highway, the $*i*$-th segment connects cities number $*i*$ and $*i* + 1$. Every segment of the highway is associated with a positive integer $*a*_{*i*} > 1$ — the period of traffic jams appearance on it.

翻译中…

In order to get from city $*x*$ to city $*y*$ ($*x* < *y*$), some drivers use the following tactics.

翻译中…

Initially the driver is in city $*x*$ and the current time $*t*$ equals zero. Until the driver arrives in city $*y*$, he perfors the following actions:

翻译中…
  • if the current time $*t*$ is a multiple of $*a*_{*x*}$, then the segment of the highway number $*x*$ is now having traffic problems and the driver stays in the current city for one unit of time (formally speaking, we assign $*t* = *t* + 1$);
  • if the current time $*t*$ is not a multiple of $*a*_{*x*}$, then the segment of the highway number $*x*$ is now clear and that's why the driver uses one unit of time to move to city $*x* + 1$ (formally, we assign $*t* = *t* + 1$ and $*x* = *x* + 1$).
翻译中…

You are developing a new traffic control system. You want to consecutively process $*q*$ queries of two types:

翻译中…
  1. determine the final value of time $*t*$ after the ride from city $*x*$ to city $*y*$ ($*x* < *y*$) assuming that we apply the tactics that is described above. Note that for each query $*t*$ is being reset to $0$.
  2. replace the period of traffic jams appearing on the segment number $*x*$ by value $*y*$ (formally, assign $*a*_{*x*} = *y*$).
翻译中…

Write a code that will effectively process the queries given above.

翻译中…

Input

翻译中…

The first line contains a single integer $*n*$ ($1 ≤ *n* ≤ 10^{5}$) — the number of highway segments that connect the $*n* + 1$ cities.

翻译中…

The second line contains $*n*$ integers $*a*_{1}, *a*_{2}, ..., *a*_{*n*}$ ($2 ≤ *a*_{*i*} ≤ 6$) — the periods of traffic jams appearance on segments of the highway.

翻译中…

The next line contains a single integer $*q*$ ($1 ≤ *q* ≤ 10^{5}$) — the number of queries to process.

翻译中…

The next $*q*$ lines contain the descriptions of the queries in the format $*c*$, $*x*$, $*y*$ ($*c*$ — the query type).

翻译中…

If $*c*$ is character 'A', then your task is to process a query of the first type. In this case the following constraints are satisfied: $1 ≤ *x* < *y* ≤ *n* + 1$.

翻译中…

If $*c*$ is character 'C', then you need to process a query of the second type. In such case, the following constraints are satisfied: $1 ≤ *x* ≤ *n*$, $2 ≤ *y* ≤ 6$.

翻译中…

Output

翻译中…

For each query of the first type output a single integer — the final value of time $*t*$ after driving from city $*x*$ to city $*y*$. Process the queries in the order in which they are given in the input.

翻译中…

样例

Input #1
10
2 5 3 2 3 5 3 4 2 4
10
C 10 6
A 2 6
A 1 3
C 3 4
A 3 11
A 4 9
A 5 6
C 7 3
A 8 10
A 2 5
Output #1
5
3
14
6
2
4
4
InputCopy OutputCopy
题目信息
题号
498D
时间限制
2 s
内存限制
256 MB
标签
数据结构
动态规划
数论

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。