Trie t; t.malloc(200001,123); ll d[200001]{}; ll h[200000]{}; ll m=0; ll@n; rep(n){ ll p=0; string@a; ++d[p]; for(char c:a){ p=t.addNext(p,c); ++d[p]; } } ll@q; rep(q){ ll@a; if(a==1){ char@c; h[m+1]=h[m]>=0?t.next(h[m],c):-1; ++m; } if(a==2){ --m; } if(a==3){ wt(h[m]>=0?d[h[m]]:0); } }