#include <bits/stdc++.h>
using namespace std;
#define FILE "SHIP"
#define int long long
#define ii pair<int, int>
#define fast ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define FOR(I, L, R) for(int I = (int)L; I <= (int)R; I++)
#define FOD(I, R, L) for(int I = (int)R; I >= (int)L; I--)
#define FOA(I, A) for(auto &I : A)
#define all(A) A.begin(), A.end()
#define fi first
#define se second
const int N = 2e5 + 10;
const int oo = 1e18;
const int mod = 1e9 + 7;
int n, q;
int a[N];
vector<int> g[N];
struct segment{
int seg[N << 2], lazy[N << 2];
segment(){
memset(seg, 0, sizeof seg);
memset(lazy, 0, sizeof lazy);
}
void push_down(int id, int l, int r){
int m = (l + r) >> 1;
seg[id << 1] = m - l + 1 - seg[id << 1];
seg[id << 1 | 1] = r - m - seg[id << 1 | 1];
lazy[id << 1] ^= lazy[id];
lazy[id << 1 | 1] ^= lazy[id];
lazy[id] = 0;
}
void update(int id, int l, int r, int u, int v){
if(v < l || r < u) return;
if(u <= l && r <= v){
seg[id] = r - l + 1 - seg[id];
lazy[id] ^= 1;
return;
}
push_down(id, l, r);
int mid = (l + r) >> 1;
update(id << 1, l, mid, u, v);
update(id << 1 | 1, mid + 1, r, u, v);
seg[id] = seg[id << 1] + seg[id << 1 | 1];
}
int get(int id, int l, int r, int u, int v){
if(v < l || r < u) return 0;
if(u <= l || r <= v) return seg[id];
push_down(id, l, r);
int mid = (l + r) >> 1;
int s1 = get(id << 1, l, mid, u, v);
int s2 = get(id << 1 | 1, mid + 1, r, u, v);
return s1 + s2;
}
}sg;
int cnt;
int tour[N], in[N], out[N];
void euler(int u, int p){
tour[++cnt] = u;
in[u] = cnt;
if(a[u]) sg.update(1, 1, n, cnt, cnt);
FOA(v, g[u]) if(v != p){
euler(v, u);
}
out[u] = cnt;
}
signed main(){ fast
if(fopen(FILE ".INP", "r")){
freopen(FILE".INP", "r", stdin);
freopen(FILE".OUT", "w", stdout);
}
cin >> n;
FOR(v, 2, n){
int u; cin >> u;
g[u].push_back(v);
g[v].push_back(u);
}
FOR(i, 1, n) cin >> a[i];
euler(1, 0);
cin >> q;
while(q--){
int t, u;
cin >> t >> u;
t--;
if(t){
cout << sg.get(1, 1, n, in[u], out[u]) << '\n';
}else{
sg.update(1, 1, n, in[u], out[u]);
}
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgRklMRSAiU0hJUCIKCiNkZWZpbmUgaW50IGxvbmcgbG9uZwojZGVmaW5lIGlpIHBhaXI8aW50LCBpbnQ+CgojZGVmaW5lIGZhc3QgaW9zOjpzeW5jX3dpdGhfc3RkaW8oMCk7IGNpbi50aWUoMCk7IGNvdXQudGllKDApOwojZGVmaW5lIEZPUihJLCBMLCBSKSBmb3IoaW50IEkgPSAoaW50KUw7IEkgPD0gKGludClSOyBJKyspCiNkZWZpbmUgRk9EKEksIFIsIEwpIGZvcihpbnQgSSA9IChpbnQpUjsgSSA+PSAoaW50KUw7IEktLSkKI2RlZmluZSBGT0EoSSwgQSkgZm9yKGF1dG8gJkkgOiBBKQoKI2RlZmluZSBhbGwoQSkgQS5iZWdpbigpLCBBLmVuZCgpCiNkZWZpbmUgZmkgZmlyc3QKI2RlZmluZSBzZSBzZWNvbmQKCmNvbnN0IGludCBOID0gMmU1ICsgMTA7CmNvbnN0IGludCBvbyA9IDFlMTg7CmNvbnN0IGludCBtb2QgPSAxZTkgKyA3OwoKaW50IG4sIHE7CmludCBhW05dOwp2ZWN0b3I8aW50PiBnW05dOwoKc3RydWN0IHNlZ21lbnR7CiAgICAgaW50IHNlZ1tOIDw8IDJdLCBsYXp5W04gPDwgMl07CgogICAgIHNlZ21lbnQoKXsKICAgICAgICAgIG1lbXNldChzZWcsIDAsIHNpemVvZiBzZWcpOwogICAgICAgICAgbWVtc2V0KGxhenksIDAsIHNpemVvZiBsYXp5KTsKICAgICB9CgogICAgIHZvaWQgcHVzaF9kb3duKGludCBpZCwgaW50IGwsIGludCByKXsKICAgICAgICAgIGludCBtID0gKGwgKyByKSA+PiAxOwogICAgICAgICAgc2VnW2lkIDw8IDFdID0gbSAtIGwgKyAxIC0gc2VnW2lkIDw8IDFdOwogICAgICAgICAgc2VnW2lkIDw8IDEgfCAxXSA9IHIgLSBtIC0gc2VnW2lkIDw8IDEgfCAxXTsKCiAgICAgICAgICBsYXp5W2lkIDw8IDFdIF49IGxhenlbaWRdOwogICAgICAgICAgbGF6eVtpZCA8PCAxIHwgMV0gXj0gbGF6eVtpZF07CiAgICAgICAgICBsYXp5W2lkXSA9IDA7CiAgICAgfQoKICAgICB2b2lkIHVwZGF0ZShpbnQgaWQsIGludCBsLCBpbnQgciwgaW50IHUsIGludCB2KXsKICAgICAgICAgIGlmKHYgPCBsIHx8IHIgPCB1KSByZXR1cm47CiAgICAgICAgICBpZih1IDw9IGwgJiYgciA8PSB2KXsKICAgICAgICAgICAgICAgc2VnW2lkXSA9IHIgLSBsICsgMSAtIHNlZ1tpZF07CiAgICAgICAgICAgICAgIGxhenlbaWRdIF49IDE7CgogICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICB9CgogICAgICAgICAgcHVzaF9kb3duKGlkLCBsLCByKTsKICAgICAgICAgIGludCBtaWQgPSAobCArIHIpID4+IDE7CgogICAgICAgICAgdXBkYXRlKGlkIDw8IDEsIGwsIG1pZCwgdSwgdik7CiAgICAgICAgICB1cGRhdGUoaWQgPDwgMSB8IDEsIG1pZCArIDEsIHIsIHUsIHYpOwoKICAgICAgICAgIHNlZ1tpZF0gPSBzZWdbaWQgPDwgMV0gKyBzZWdbaWQgPDwgMSB8IDFdOwogICAgIH0KCiAgICAgaW50IGdldChpbnQgaWQsIGludCBsLCBpbnQgciwgaW50IHUsIGludCB2KXsKICAgICAgICAgIGlmKHYgPCBsIHx8IHIgPCB1KSByZXR1cm4gMDsKICAgICAgICAgIGlmKHUgPD0gbCB8fCByIDw9IHYpIHJldHVybiBzZWdbaWRdOwoKICAgICAgICAgIHB1c2hfZG93bihpZCwgbCwgcik7CiAgICAgICAgICBpbnQgbWlkID0gKGwgKyByKSA+PiAxOwoKICAgICAgICAgIGludCBzMSA9IGdldChpZCA8PCAxLCBsLCBtaWQsIHUsIHYpOwogICAgICAgICAgaW50IHMyID0gZ2V0KGlkIDw8IDEgfCAxLCBtaWQgKyAxLCByLCB1LCB2KTsKCiAgICAgICAgICByZXR1cm4gczEgKyBzMjsKICAgICB9Cn1zZzsKCmludCBjbnQ7CmludCB0b3VyW05dLCBpbltOXSwgb3V0W05dOwoKdm9pZCBldWxlcihpbnQgdSwgaW50IHApewogICAgIHRvdXJbKytjbnRdID0gdTsKICAgICBpblt1XSA9IGNudDsKCiAgICAgaWYoYVt1XSkgc2cudXBkYXRlKDEsIDEsIG4sIGNudCwgY250KTsKCiAgICAgRk9BKHYsIGdbdV0pIGlmKHYgIT0gcCl7CiAgICAgICAgICBldWxlcih2LCB1KTsKICAgICB9CgogICAgIG91dFt1XSA9IGNudDsKfQoKc2lnbmVkIG1haW4oKXsgZmFzdAogICAgIGlmKGZvcGVuKEZJTEUgIi5JTlAiLCAiciIpKXsKICAgICAgICAgIGZyZW9wZW4oRklMRSIuSU5QIiwgInIiLCBzdGRpbik7CiAgICAgICAgICBmcmVvcGVuKEZJTEUiLk9VVCIsICJ3Iiwgc3Rkb3V0KTsKICAgICB9CgogICAgIGNpbiA+PiBuOwogICAgIEZPUih2LCAyLCBuKXsKICAgICAgICAgIGludCB1OyBjaW4gPj4gdTsKICAgICAgICAgIGdbdV0ucHVzaF9iYWNrKHYpOwogICAgICAgICAgZ1t2XS5wdXNoX2JhY2sodSk7CiAgICAgfQogICAgIEZPUihpLCAxLCBuKSBjaW4gPj4gYVtpXTsKICAgICBldWxlcigxLCAwKTsKCiAgICAgY2luID4+IHE7CiAgICAgd2hpbGUocS0tKXsKICAgICAgICAgIGludCB0LCB1OwogICAgICAgICAgY2luID4+IHQgPj4gdTsKICAgICAgICAgIHQtLTsKCiAgICAgICAgICBpZih0KXsKICAgICAgICAgICAgICAgY291dCA8PCBzZy5nZXQoMSwgMSwgbiwgaW5bdV0sIG91dFt1XSkgPDwgJ1xuJzsKICAgICAgICAgIH1lbHNlewogICAgICAgICAgICAgICBzZy51cGRhdGUoMSwgMSwgbiwgaW5bdV0sIG91dFt1XSk7CiAgICAgICAgICB9CiAgICAgfQp9Cg==