#include <bits/stdc++.h>
using namespace std;
const int inf = 1e9;
const int MOD = 1e9 + 7;
const int N = 100100;
int n, a[N], t[60][4 * N], t1[4 * N], mod[10 * N], q;
void build(int v, int tl, int tr) {
  if (tl == tr) {
    for (int i = 0; i < 60; i++) t[i][v] = 0;
    t1[v] = a[tl];
    return;
  }
  int tm = (tl + tr) / 2;
  build(v * 2, tl, tm);
  build(v * 2 + 1, tm + 1, tr);
  for (int i = 0; i < 60; i++) {
    int x = i + t[i][v * 2];
    int k;
    if (x % t1[v * 2] != 0) {
      x = mod[x + 1];
      k = 1;
    } else {
      x = mod[x + 2];
      k = 2;
    }
    t[i][v] = t[i][v * 2] + t[x][v * 2 + 1] + k;
  }
  t1[v] = t1[v * 2 + 1];
}
void update(int v, int tl, int tr, int pos, int val) {
  if (tl == tr) {
    t1[v] = val;
    return;
  }
  int tm = (tl + tr) / 2;
  if (pos <= tm)
    update(v * 2, tl, tm, pos, val);
  else
    update(v * 2 + 1, tm + 1, tr, pos, val);
  for (int i = 0; i < 60; i++) {
    int x = i + t[i][v * 2];
    int k;
    if (x % t1[v * 2] != 0) {
      x = mod[x + 1];
      k = 1;
    } else {
      x = mod[x + 2];
      k = 2;
    }
    t[i][v] = t[i][v * 2] + t[x][v * 2 + 1] + k;
  }
  t1[v] = t1[v * 2 + 1];
}
int get(int v, int tl, int tr, int l, int r, int x) {
  if (l > r) return 0;
  if (l == tl && r == tr) return t[x][v];
  int tm = (tl + tr) / 2;
  if (l > min(r, tm)) return get(v * 2 + 1, tm + 1, tr, max(l, tm + 1), r, x);
  int x1 = get(v * 2, tl, tm, l, min(r, tm), x);
  if (max(tm + 1, l) > r) return x1;
  int k;
  if ((x + x1) % t1[v * 2] != 0)
    k = 1;
  else
    k = 2;
  int x2 = get(v * 2 + 1, tm + 1, tr, max(l, tm + 1), r, mod[x + x1 + k]);
  return x1 + x2 + k;
}
int main() {
  scanf("%d\n", &n);
  for (int i = 1; i <= n; i++) scanf("%d", &a[i]);
  scanf("\n");
  for (int i = 0; i < 5 * N; i++) mod[i] = i % 60;
  build(1, 1, n + 1);
  scanf("%d\n", &q);
  for (int i = 1; i <= q; i++) {
    char ch;
    int x, y;
    scanf("%c %d %d\n", &ch, &x, &y);
    if (ch == 'A') {
      printf("%d\n", get(1, 1, n + 1, x, y, 0));
    } else {
      a[x] = y;
      update(1, 1, n + 1, x, y);
    }
  }
  return 0;
}
