#include<stdio.h>
#include<string.h>
 
#define M 1000001
#define L 14
 
char Hash[M][L]; 
 
int getChar(char);
long long getKey(char[]);
int key(int);
int key(int);
int insert(char[]);
 
int getChar(char ch){
  if ( ch == 'A') return 1;
  else if ( ch == 'C') return 2;
  else if ( ch == 'G') return 3;
  else if ( ch == 'T') return 4;
}
 

long long getKey(char str[]){
  long long sum = 0, p = 1, i;
  for ( i = 0; i < strlen(str); i++ ){
    sum += p*(getChar(str[i]));
    p *= 5;
  }
  return sum;
}

 
int hash1(int key){ 
  return key%M; 
}


int hash2(int key){ 
  return 1+key%(M-1); 
}

 
int find(char str[]){
 long long key;
 int i,x,y,sum;
 
 key = getKey(str);
 x = hash1(key);
 y = hash2(key);
 
 for( i = 0 ; i < M ; i++ ){
     sum = (x+i*y)%M;
     if( strcmp(Hash[sum],str) == 0 )
       return 1;
     else if( H[sum][0] == '\0' )
         return 0;
   }
 return 0;
}
 
int insert(char str[]){
 long long key;
 int i,x,y,sum;
 
 key = getKey(str);
 x = hash1(key);
 y = hash2(key);
 
 for( i = 0 ; i < M ; i++ )
   {
     sum = (x+i*y)%M;
     if( strcmp(Hash[sum],str) == 0 )
       return 1;
     else if( Hash[sum][0] == '\0' )
       {
	 strcpy(Hash[sum],str);
	 return 0;
       }
   }
 return 0;
}
 
int main(){
  int i, n, h;
  char str[L], com[9];
  
  for ( i = 0; i < M; i++ ) 
    Hash[i][0] = '\0';
  
  scanf("%d", &n);
  
  for ( i = 0; i < n; i++ ){
    scanf("%s %s", com, str);
    
    if ( com[0] == 'i' ){
      insert(str);
    } 
    else {
      if (find(str))
        printf("yes\n");
      else 
        printf("no\n");        
    }
  }
  return 0;
}