#include<stdio.h>
#include<string.h>
#define M 100000
typedef struct DIC{
  char coma[10];
  char key[12];
}D;

D Dicin1[M],Dicin2[M],Dicin3[M],Dicin4[M],Dicin5[M];
static int v=0,w=0,x=0,y=0,z=0;
unsigned hash(char *v){
  int h;
  for(h=0;*v!='\0';v++)
    h=(64*h + *v)%5;
  return h; 
}

void insert(D d){
  if(hash(d.key)==0){
    strcpy(Dicin1[v].key,d.key);
    v++;
  }
  else if(hash(d.key)==1){
    strcpy(Dicin2[w].key,d.key);
    w++;
  }
  else if(hash(d.key)==2){
    strcpy(Dicin3[x].key,d.key);
    x++;
  }
  else if(hash(d.key)==3){
    strcpy(Dicin4[y].key,d.key);
    y++;
  }
  else{
    strcpy(Dicin5[z].key,d.key);
    z++;
  }
}

int search(D d){
  int i;
  if(hash(d.key)==0){
    for(i=0;i<v;i++){
      if(strcmp(Dicin1[i].key,d.key)==0)
	return 0;
    }
    return 1;
  }
  else if(hash(d.key)==1){
    for(i=0;i<w;i++){ 
      if(strcmp(Dicin2[i].key,d.key)==0)
	return 0;
    }
    return 1;
  }
  else if(hash(d.key)==2){
    for(i=0;i<x;i++){ 
      if(strcmp(Dicin3[i].key,d.key)==0)
	return 0;
    }
    return 1;
  }
  else if(hash(d.key)==3){
    for(i=0;i<y;i++){ 
      if(strcmp(Dicin4[i].key,d.key)==0)
	return 0;
    }
    return 1;
  }
  else if(hash(d.key)==4){
    for(i=0;i<z;i++){ 
      if(strcmp(Dicin5[i].key,d.key)==0)
	return 0;
    }
    return 1;
  }
}

main(){
  D Dic[100000];
  int n,i;
  
  scanf("%d",&n);
  for(i=0;i<n;i++)
    scanf("%s %s",Dic[i].coma,Dic[i].key);
  for(i=0;i<n;i++)
    if(Dic[i].coma[0]=='i')
      insert(Dic[i]);
    else
      if(search(Dic[i])==0)
	printf("yes\n");
      else
	printf("no\n");
  return 0;
}