#include #include #include #include #define N 10000005 using namespace std; int trie[N][26],de[N],from[N],n,i,len,now,num,pp,sum; char S[10],st[35]; void updata(int p) { de[p]=0; for (int i=0;i<26;i++) de[p]|=de[trie[p][i]]; } void pushdown(int p) { if (p&&!de[p]) for (int i=0;i<26;i++) de[trie[p][i]]=0; } int main() { scanf("%d",&n); while (n--) { scanf("%s",S); scanf("%s",st+1); len=strlen(st+1); if (S[0]=='i') { now=0; for (i=1;i<=len;i++) { if (!trie[now][st[i]-'a']) trie[now][st[i]-'a']=++num; now=trie[now][st[i]-'a']; pushdown(now); de[now]++; } }else if (S[0]=='s') { now=0;pp=1; for (i=1;i<=len;i++) { now=trie[now][st[i]-'a']; if (!de[now])pp=0; pushdown(now); } if (pp==1)puts("Yes");else puts("No"); }else { now=0;pp=1; for (i=1;i<=len;i++) { from[trie[now][st[i]-'a']]=now; now=trie[now][st[i]-'a']; pushdown(now); if (!now)pp=0; } if (pp==1) { sum=de[now]; while (now) { de[now]-=sum; now=from[now]; } from[now]=0; } } } }