#include <bits/stdc++.h>
using namespace std;
vector<int> graph[200001];
int state[2 * 200001], prop[8 * 200001];
int tree[8 * 200001];
struct A {
  int st, en;
} vtm[200001];
int c = 0;
void dfs(int u, int pr) {
  vtm[u].st = ++c;
  for (int v : graph[u]) {
    if (v != pr) dfs(v, u);
  }
  vtm[u].en = c;
}
void create(int node, int b, int e) {
  if (b == e) {
    tree[node] = state[b];
    return;
  }
  int l = 2 * node;
  int r = l + 1;
  int m = (b + e) / 2;
  create(l, b, m);
  create(r, m + 1, e);
  tree[node] = tree[l] + tree[r];
}
void update(int node, int b, int e, int i, int j) {
  if (i > e || j < b) return;
  if (i <= b && e <= j) {
    prop[node] ^= 1;
    tree[node] = (e - b + 1) - tree[node];
    return;
  }
  int l = 2 * node;
  int r = l + 1;
  int m = (b + e) / 2;
  if (prop[node]) {
    prop[l] ^= 1;
    prop[r] ^= 1;
    tree[l] = (m - b + 1) - tree[l];
    tree[r] = (e - m) - tree[r];
    prop[node] = 0;
  }
  update(l, b, m, i, j);
  update(r, m + 1, e, i, j);
  tree[node] = tree[l] + tree[r];
}
int query(int node, int b, int e, int i, int j) {
  if (i > e || j < b) return 0;
  if (i <= b && e <= j) return tree[node];
  int l = 2 * node;
  int r = l + 1;
  int m = (b + e) / 2;
  if (prop[node]) {
    prop[l] ^= 1;
    prop[r] ^= 1;
    tree[l] = (m - b + 1) - tree[l];
    tree[r] = (e - m) - tree[r];
    prop[node] = 0;
  }
  int an = query(l, b, m, i, j) + query(r, m + 1, e, i, j);
  tree[node] = tree[l] + tree[r];
  return an;
}
int main() {
  memset(prop, 0, sizeof prop);
  ;
  int n;
  scanf("%d", &n);
  for (int i = 2; i <= n; i++) {
    int a;
    scanf("%d", &a);
    graph[a].push_back(i);
  }
  dfs(1, -1);
  for (int i = 1; i <= n; i++) {
    int a;
    scanf("%d", &a);
    if (a) state[vtm[i].st] = 1;
  }
  create(1, 1, n);
  int q;
  cin >> q;
  while (q) {
    string A;
    cin >> A;
    int a;
    if (A == "get") {
      cin >> a;
      cout << query(1, 1, n, vtm[a].st, vtm[a].en) << endl;
    } else {
      cin >> a;
      update(1, 1, c, vtm[a].st, vtm[a].en);
    }
    q--;
  }
}
