#include <bits/stdc++.h>
using namespace std;
struct DSU {
vector<int> p, sz, hasRoot;
int blocks;
long long isolated;
DSU(int n) : p(n+1), sz(n+1,0), hasRoot(n+1,0), blocks(0), isolated(0) {
iota(p.begin(), p.end(), 0);
}
int find(int x){ return p[x]==x?x:p[x]=find(p[x]); }
void make_set(int x,bool isRoot){
p[x]=x; sz[x]=1; hasRoot[x]=isRoot;
if(!isRoot){ blocks++; isolated++; }
}
void unite(int a,int b){
a=find(a); b=find(b);
if(a==b) return;
if(sz[a]<sz[b]) swap(a,b);
p[b]=a;
if(!hasRoot[a]){ blocks--; isolated-=sz[a]; }
if(!hasRoot[b]){ blocks--; isolated-=sz[b]; }
sz[a]+=sz[b];
hasRoot[a]|=hasRoot[b];
if(!hasRoot[a]){ blocks++; isolated+=sz[a]; }
}
};
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int sub; cin>>sub;
int n,q; cin>>n>>q;
vector<int> par(n+1);
for(int i=2;i<=n;i++) cin>>par[i];
vector<pair<char,int>> ops(q);
for(int i=0;i<q;i++) cin>>ops[i].first>>ops[i].second;
vector<char> finalActive(n+1,0);
for(auto [t,v]:ops){
if(t=='+') finalActive[v]=1;
else finalActive[v]=0;
}
DSU dsu(n);
vector<char> active(n+1,0);
for(int i=1;i<=n;i++) if(finalActive[i]){
dsu.make_set(i,i==1);
active[i]=1;
}
for(int i=2;i<=n;i++) if(active[i] && active[par[i]]) dsu.unite(i,par[i]);
vector<pair<int,long long>> ans(q);
for(int i=q-1;i>=0;i--){
ans[i]={dsu.blocks,dsu.isolated};
char t=ops[i].first; int v=ops[i].second;
if(t=='-'){
if(!active[v]){
active[v]=1;
dsu.make_set(v,v==1);
if(par[v] && active[par[v]]) dsu.unite(v,par[v]);
for(int u=2;u<=n;u++) if(par[u]==v && active[u]) dsu.unite(v,u);
}
}else{
// '+ v' in forward => do nothing here (we already had it active)
}
}
for(auto [a,b]:ans) cout<<a<<" "<<b<<"\n";
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpzdHJ1Y3QgRFNVIHsKICAgIHZlY3RvcjxpbnQ+IHAsIHN6LCBoYXNSb290OwogICAgaW50IGJsb2NrczsKICAgIGxvbmcgbG9uZyBpc29sYXRlZDsKICAgIERTVShpbnQgbikgOiBwKG4rMSksIHN6KG4rMSwwKSwgaGFzUm9vdChuKzEsMCksIGJsb2NrcygwKSwgaXNvbGF0ZWQoMCkgewogICAgICAgIGlvdGEocC5iZWdpbigpLCBwLmVuZCgpLCAwKTsKICAgIH0KICAgIGludCBmaW5kKGludCB4KXsgcmV0dXJuIHBbeF09PXg/eDpwW3hdPWZpbmQocFt4XSk7IH0KICAgIHZvaWQgbWFrZV9zZXQoaW50IHgsYm9vbCBpc1Jvb3QpewogICAgICAgIHBbeF09eDsgc3pbeF09MTsgaGFzUm9vdFt4XT1pc1Jvb3Q7CiAgICAgICAgaWYoIWlzUm9vdCl7IGJsb2NrcysrOyBpc29sYXRlZCsrOyB9CiAgICB9CiAgICB2b2lkIHVuaXRlKGludCBhLGludCBiKXsKICAgICAgICBhPWZpbmQoYSk7IGI9ZmluZChiKTsKICAgICAgICBpZihhPT1iKSByZXR1cm47CiAgICAgICAgaWYoc3pbYV08c3pbYl0pIHN3YXAoYSxiKTsKICAgICAgICBwW2JdPWE7CiAgICAgICAgaWYoIWhhc1Jvb3RbYV0peyBibG9ja3MtLTsgaXNvbGF0ZWQtPXN6W2FdOyB9CiAgICAgICAgaWYoIWhhc1Jvb3RbYl0peyBibG9ja3MtLTsgaXNvbGF0ZWQtPXN6W2JdOyB9CiAgICAgICAgc3pbYV0rPXN6W2JdOwogICAgICAgIGhhc1Jvb3RbYV18PWhhc1Jvb3RbYl07CiAgICAgICAgaWYoIWhhc1Jvb3RbYV0peyBibG9ja3MrKzsgaXNvbGF0ZWQrPXN6W2FdOyB9CiAgICB9Cn07CgppbnQgbWFpbigpewogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZShudWxscHRyKTsKICAgIGludCBzdWI7IGNpbj4+c3ViOwogICAgaW50IG4scTsgY2luPj5uPj5xOwogICAgdmVjdG9yPGludD4gcGFyKG4rMSk7CiAgICBmb3IoaW50IGk9MjtpPD1uO2krKykgY2luPj5wYXJbaV07CiAgICB2ZWN0b3I8cGFpcjxjaGFyLGludD4+IG9wcyhxKTsKICAgIGZvcihpbnQgaT0wO2k8cTtpKyspIGNpbj4+b3BzW2ldLmZpcnN0Pj5vcHNbaV0uc2Vjb25kOwoKICAgIHZlY3RvcjxjaGFyPiBmaW5hbEFjdGl2ZShuKzEsMCk7CiAgICBmb3IoYXV0byBbdCx2XTpvcHMpewogICAgICAgIGlmKHQ9PScrJykgZmluYWxBY3RpdmVbdl09MTsKICAgICAgICBlbHNlIGZpbmFsQWN0aXZlW3ZdPTA7CiAgICB9CgogICAgRFNVIGRzdShuKTsKICAgIHZlY3RvcjxjaGFyPiBhY3RpdmUobisxLDApOwogICAgZm9yKGludCBpPTE7aTw9bjtpKyspIGlmKGZpbmFsQWN0aXZlW2ldKXsKICAgICAgICBkc3UubWFrZV9zZXQoaSxpPT0xKTsKICAgICAgICBhY3RpdmVbaV09MTsKICAgIH0KICAgIGZvcihpbnQgaT0yO2k8PW47aSsrKSBpZihhY3RpdmVbaV0gJiYgYWN0aXZlW3BhcltpXV0pIGRzdS51bml0ZShpLHBhcltpXSk7CgogICAgdmVjdG9yPHBhaXI8aW50LGxvbmcgbG9uZz4+IGFucyhxKTsKICAgIGZvcihpbnQgaT1xLTE7aT49MDtpLS0pewogICAgICAgIGFuc1tpXT17ZHN1LmJsb2Nrcyxkc3UuaXNvbGF0ZWR9OwogICAgICAgIGNoYXIgdD1vcHNbaV0uZmlyc3Q7IGludCB2PW9wc1tpXS5zZWNvbmQ7CiAgICAgICAgaWYodD09Jy0nKXsKICAgICAgICAgICAgaWYoIWFjdGl2ZVt2XSl7CiAgICAgICAgICAgICAgICBhY3RpdmVbdl09MTsKICAgICAgICAgICAgICAgIGRzdS5tYWtlX3NldCh2LHY9PTEpOwogICAgICAgICAgICAgICAgaWYocGFyW3ZdICYmIGFjdGl2ZVtwYXJbdl1dKSBkc3UudW5pdGUodixwYXJbdl0pOwogICAgICAgICAgICAgICAgZm9yKGludCB1PTI7dTw9bjt1KyspIGlmKHBhclt1XT09diAmJiBhY3RpdmVbdV0pIGRzdS51bml0ZSh2LHUpOwogICAgICAgICAgICB9CiAgICAgICAgfWVsc2V7CiAgICAgICAgICAgIC8vICcrIHYnIGluIGZvcndhcmQgPT4gZG8gbm90aGluZyBoZXJlICh3ZSBhbHJlYWR5IGhhZCBpdCBhY3RpdmUpCiAgICAgICAgfQogICAgfQogICAgZm9yKGF1dG8gW2EsYl06YW5zKSBjb3V0PDxhPDwiICI8PGI8PCJcbiI7Cn0K