#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);

int im;
char dict[N][13];

int main()
{
  int n, i;
  char str[13];
  
  scanf("%d", &n);
  for(i=0; i<N; i++)
    {
      strcpy(dict[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(dict[hash(str, i)], "\0") != 0)
    {
      i++;
    }
  strcpy(dict[hash(str, i)], str);
  im = i;
  //printf("%d\n", hash(str, i));
}
void find(char *str)
{
  int i=0;

  while(1)
    {
      if(strcmp(dict[hash(str, i)], "\0") == 0)
	{
	  printf("no\n");
	  break;
	}
      else if(strcmp(dict[hash(str, i)], str) == 0)
	{
	  printf("yes\n");
	  break;
	}
      i++;
    }
}
int hash1(int k)
{
  return k % N;
}
int hash2(int k)
{
  return 1 + k%(N-1);
}
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 *= 4;
    }
  //printf("%d\n", k);
  
  return (hash1(k) + i*hash2(k))%N;
}