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*<sub class="lower-index">*i*</sub> &gt; 1 — the period of traffic jams appearance on it. 

In order to get from city *x* to city *y* (*x* &lt; *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*<sub class="lower-index">*x*</sub>, 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*<sub class="lower-index">*x*</sub>, 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* &lt; *y*) assuming that we apply the tactics that is described above. Note that for each query *t* is being reset to 0. 1.  replace the period of traffic jams appearing on the segment number *x* by value *y* (formally, assign *a*<sub class="lower-index">*x*</sub> = *y*). 
Write a code that will effectively process the queries given above.
The first line contains a single integer *n* (1 ≤ *n* ≤ 10<sup class="upper-index">5</sup>) — the number of highway segments that connect the *n* + 1 cities.

The second line contains *n* integers *a*<sub class="lower-index">1</sub>, *a*<sub class="lower-index">2</sub>, ..., *a*<sub class="lower-index">*n*</sub> (2 ≤ *a*<sub class="lower-index">*i*</sub> ≤ 6) — the periods of traffic jams appearance on segments of the highway.

The next line contains a single integer *q* (1 ≤ *q* ≤ 10<sup class="upper-index">5</sup>) — 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* &lt; *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.
print("_RANDOM_GUESS_1690488844.0567067")# 1690488844.056725