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

#define N 1000000

int getChar(char);
int getKey(char*);
int Insert(char*);
int Find(char*);

int H1(int key){return key%N;}
int H2(int key){return 1+(key%(N-1));}
int H0(int key,int i){return (H1(key)+i*H2(key))%N;}

char dic[N][14];

int main(void){
  int n,i;
  char order[9],str[14];

  for(i=0;i<N;i++) dic[i][0]='\0';

  scanf("%d", &n);

  for(i=0;i<n;i++){
    scanf("%s%s", order, str);

    if(order[0]=='i') Insert(str);
    else{
      if(Find(str)) printf("yes\n");
      else printf("no\n");
    }
  }
  return 0;
}

int getChar(char c){
  if(c=='A') return 1;
  else if(c=='C') return 2;
  else if(c=='G') return 3;
  else if(c=='T') return 4;
}

int getKey(char str[]){
  int sum=0,p=1,i;

  for(i=0;i<strlen(str);i++){
    sum+=p*(getChar(str[i]));
    p*=5;
  }

  return sum;
}

int Insert(char str[]){
  int key,i,j;

  key=getKey(str);
  i=0;

  while(i<N){
    j=H0(key,i);

    if(dic[j][0]=='\0'){
      strcpy(dic[j],str);
      return j;
    }else{
      i++;
    }
  }
}

int Find(char str[]){
  int i,j,key;

  key=getKey(str);

  i=0;
  while(1){
    j=(H1(key)+i*H2(key))%N;
    if(dic[j][0]=='\0' || i==N) return 0;
    if(strcmp(dic[j],str)==0) return 1;
    else i++;
  }
}