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

#define M 1000000
#define MAX_L 13
typedef long long ll;

char table[M][MAX_L];

int h1(ll);
int h2(ll);
int getNum(char);
ll getKey(char*);
void insert(char*);
int find(char*);
void init_table(void);

int main(){
  int N,i;
  char command[7],str[MAX_L];
  init_table();
  scanf("%d",&N);
  for(i = 0 ; i < N ; i++){
    scanf("%s%s",command,str);
    if(!strcmp(command,"insert")){
      insert(str);
    }else{
      printf("%s\n",(find(str) ? "yes" : "no"));
    }
  }
  return 0;
}

int h1(ll k){
  return k % M;
}

int h2(ll k){
  return 1 + k % (M-1);
}

int getNum(char ch){
  if(ch == 'A'){ return 1; }
  if(ch == 'C'){ return 2; }
  if(ch == 'G'){ return 3; }
  if(ch == 'T'){ return 4; }
  return -1;
}

ll getKey(char *str){
  ll res = 0,j;
  int i,len = strlen(str);
  for(i = 0, j = 1 ; i < len ; i++, j *= 5){
    res += getNum(str[i])*j;
  }
  return res;
}

void insert(char *str){
  ll k = getKey(str),cur = h1(k);
  int i;
  for(i = 0 ; ; i++){
    if(table[cur][0] == '#'){
      strcpy(table[cur],str);
      break;
    }
    cur = (cur + h2(k)) % M;
  }
}

int find(char *str){
  ll k = getKey(str),cur = h1(k);
  int i;
  for(i = 0 ; ; i++){
    if(table[cur][0] == '#'){
      return 0;
    }
    if(!strcmp(str,table[cur])){
      return 1;
    }
    cur = (cur + h2(k)) % M; 
  }
}

void init_table(){
  int i;
  for(i = 0 ; i < M ; i++){
    table[i][0] = '#';
  }
}