#include <bits/stdc++.h>
using namespace std;
struct __s {
  __s() {
    srand(time(NULL));
    if (1) {
      ios_base::Init i;
      cin.sync_with_stdio(0);
      cin.tie(0);
    }
  }
  ~__s() {
    if (!1)
      fprintf(stderr, "Execution time: %.3lf s.\n",
              (double)clock() / CLOCKS_PER_SEC);
    int n;
    cin >> n;
  }
} __S;
int n, m, k, q;
long long t[2111][2111];
int len[2111];
int x[2111][2111];
int y[2111][2111];
int val[2111][2111];
int sw[1111111];
int ask;
int x1[2111];
int oi12io[2111];
int x2[2111];
int y2[2111];
long long sum[2111][2111];
void add(int i, int jj, int val) {
  while (i <= n) {
    int j = jj;
    while (j <= m) {
      t[i][j] += val;
      j |= j + 1;
    }
    i |= i + 1;
  }
}
long long get(int i, int jj) {
  long long res = 0;
  while (i > 0) {
    int j = jj;
    while (j > 0) {
      res += t[i][j];
      j &= j + 1;
      j--;
    }
    i &= i + 1;
    i--;
  }
  return res;
}
long long get(int x1, int oi12io, int x2, int y2) {
  long long res = get(x2, y2);
  if (x1) res -= get(x1 - 1, y2);
  if (oi12io) res -= get(x2, oi12io - 1);
  if (x1 && oi12io) res += get(x1 - 1, oi12io - 1);
  return res;
}
int main(void) {
  scanf("%d%d%d", &n, &m, &k);
  for (int i = 0; i < (int)(k); i++) {
    scanf("%d", &len[i]);
    for (int j = 0; j < (int)(len[i]); j++) {
      scanf("%d%d%d", &x[i][j], &y[i][j], &val[i][j]);
    }
  }
  scanf("%d", &q);
  for (int i = 0; i < (int)(q); i++) {
    char c[10];
    scanf("%s", c);
    string s = c;
    if (s == "SWITCH") {
      scanf("%d", &sw[i]);
      sw[i]--;
    } else {
      scanf("%d%d%d%d", &x1[ask], &oi12io[ask], &x2[ask], &y2[ask]);
      ask++;
      sw[i] = -1;
    }
  }
  for (int i = 0; i < (int)(k); i++) {
    for (int j = 0; j < (int)(len[i]); j++) add(x[i][j], y[i][j], val[i][j]);
    for (int j = 0; j < (int)(ask); j++)
      sum[i][j] = get(x1[j], oi12io[j], x2[j], y2[j]);
    for (int j = 0; j < (int)(len[i]); j++) add(x[i][j], y[i][j], -val[i][j]);
  }
  vector<bool> u(k, true);
  ask = 0;
  for (int i = 0; i < (int)(q); i++) {
    if (sw[i] != -1) {
      u[sw[i]] = !u[sw[i]];
      continue;
    }
    long long ans = 0;
    for (int j = 0; j < (int)(k); j++) {
      if (!u[j]) continue;
      ans += sum[j][ask];
    }
    printf("%I64d\n", ans);
    ask++;
  }
  return 0;
}
