#include<stdio.h>
#include<string.h>
 
#define N 1000003
 
void insert(char*);
void find(char*);
int hash1(int);
int hash2(int);
int hash(char*,int);

char D[N][13];
 
int main(){
  int n,i;
  char str[13];
   
  scanf("%d",&n);
  
  for(i=0;i<N;i++){
    strcpy(D[i],"\0");
  }//?????????
 
  for(i=0;i<n;i++){
    scanf("%s",str);
    if(strcmp(str,"insert")==0){
      scanf("%s",str);
      insert(str);
    }
    else if(strcmp(str,"find")==0){
      scanf("%s",str);
      find(str);
    }
  }
  
  return 0;
}
 
void insert(char *str){
  int i=0;
 
  while(strcmp(D[hash(str,i)],"\0")!= 0){
    i++;
  }
  strcpy(D[hash(str, i)],str);
}

void find(char *str){
  int i=0;
  
  while(1){
    if(strcmp(D[hash(str, i)],"\0")==0){
      printf("no\n");
      break;
    }
    else if(strcmp(D[hash(str,i)],str)==0){
      printf("yes\n");
      break;
    }
    i++;
  }
}

int hash(char *str, int i){
  int j,k=0,n=1;
  
  for(j=0;str[j]!='\0';j++){
    if(str[j]=='A'){
      k+=n*0;
    }
    else if(str[j]=='C'){
      k+=n*1;
    }
    else if(str[j]=='G'){
      k+=n*2;
    }
    else if(str[j]=='T'){
      k+=n*3;
    }
    n=n*4;
  }
  
  return (hash1(k)+i*hash2(k))%N;
}

int hash1(int k){
  return k%N;
}

int hash2(int k){
  return 1+k%(N-1);
}