#include<stdio.h>
#include<string.h>
#define M 1000003
#define L 13

char D[M][L];

//?°?????¬???¬??¢?????°???
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;
    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*(getChar(str[i]));
    p *= 5;
}

int h1(int key) { return key%M;}
int h2(int key) { return 1+(key%(M-1));}
int h(int key, int i) { return (h1(key)+i*h2(key))%M;}

int find(char str[])
{
    long long i, j, key;
    key=getKey(str);
    for(i=0; ; i++)
    {
        j=h(key, i);
        if(strcmp(D[j], str) == 0) return 1;
        else if(strlen(D[j]) == 0 || i>=M) return 0;
    }
    return 0;
}

int insert(char str[])
{
    long long i, j, key;
    key=getKey(str);
    for(i=0; ; i++)
    {
        j=h(key, i);
        if(strcmp(D[j], str) == 0) return 1;
        else if(D[j][0] == '\0') {strcpy(D[j], str); return 0;}
    }

    return 0;
}
int main()
{
    int i, n, h;
    char str[L], com[9], ch;
    for(i=0; i<M; i++) D[i][0]='\0';
    scanf("%d", &n);
    for(i=0; i<n; i++)
    {
        scanf("%s %s", com, str);
        ch=getchar();

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

    return 0;
}