#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1e5 + 100, K = 60;
int n, q, seg[4 * MAXN][K];
void merge(int v) {
  for (int i = 0; i < K; i++)
    seg[v][i] = seg[2 * v][i] + seg[2 * v + 1][(i + seg[2 * v][i]) % K];
}
void update(int v, int s, int e, int pos, int val) {
  if (e - s == 1) {
    for (int i = 0; i < K; i++) {
      if (i % val == 0)
        seg[v][i] = 2;
      else
        seg[v][i] = 1;
    }
    return;
  }
  int mid = (s + e) / 2;
  if (pos < mid)
    update(2 * v, s, mid, pos, val);
  else
    update(2 * v + 1, mid, e, pos, val);
  merge(v);
}
int get(int v, int s, int e, int l, int r, int last) {
  if (s >= r || e <= l) return 0;
  if (l <= s && e <= r) return seg[v][last];
  int mid = (s + e) / 2;
  int x = get(2 * v, s, mid, l, r, last);
  return x + get(2 * v + 1, mid, e, l, r, (last + x) % K);
}
int main() {
  cin >> n;
  for (int i = 0; i < n; i++) {
    int a;
    cin >> a;
    update(1, 0, n, i, a);
  }
  cin >> q;
  while (q--) {
    char c;
    cin >> c;
    if (c == 'A') {
      int l, r;
      cin >> l >> r;
      l--, r--;
      cout << get(1, 0, n, l, r, 0) << endl;
    } else {
      int pos, x;
      cin >> pos >> x;
      pos--;
      update(1, 0, n, pos, x);
    }
  }
}
