#include<stdio.h>
#include<string.h>

#define N 1046527
#define NIL -1
#define L 14
char H[N][L];


int get(char mo)
{
  if( mo == 'A' )return 1;
  else if( mo == 'C')return 2;
  else if( mo == 'G' )return 3;
  else if ( mo == 'T') return 4;
  else return 0;
}
//文字列から数値へ変換してkey作成
long long getkey(char str[])
{
  long long sum = 0, p = 1, i;
  for( i = 0 ; i < strlen(str) ; i++ ){
    sum += p*(get(str[i]));
    p *= 5;
  }
  return sum;
}

int h1(int key)
{
  return key % N;
}

int h2(int key)
{
  return 1+(key % (N-1));
}


int find(char str[])
{
  long long key,i,h;
  key = getkey(str);//文字列を数値に
  for( i = 0;;i++){
    h = (h1(key)+i*h2(key))%N;
    if(strcmp(H[h],str) == 0)return 1;
    else if( strlen(H[h])==0)return 0;
  }
 
}

int insert(char str[])
{
  long long key,i,h;
  key = getkey(str);
  for( i = 0 ; ; i++ ){
    h = (h1(key) + i * h2(key)) % N;
    if( strcmp(H[h],str) == 0 )return 1;
    else if( strlen(H[h]) == 0){
      strcpy(H[h],str);
      return 0;
    }
  }
  return 0;
}


int main()
{
  int i;
  int n;
  int h;
  char str[L],aaa[9];

  for( i = 0 ; i < N; i++ )H[i][0] = '\0';
  scanf("%d",&n);
  for( i = 0 ; i < n; i++ ){
    scanf("%s %s",aaa,str);

    if( aaa[0] == 'i' ){
      insert(str);
    }
    else{
      if( find(str) ){
	printf("yes\n");
      }
      else{
	printf("no\n");
      }
    }
  }
  return 0;
}

