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

#define M 1000003
#define L 14

char H[M][L]; /* Hash Table */

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;
}

/* convert a string into an integer value */
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;
    }
    return sum;
}

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

int find(char str[]) {
    int h_key, next;
    long long key;
    key = getKey(str);
    h_key = h1(key);
    if((strcmp(H[h_key], str))==0) return 1;
    else {
        next = h2(key);
        h_key += next;
        if (h_key >= M) h_key = h_key - M;
        while (H[h_key][0]!='\0'){
            if ((strcmp(H[h_key], str)) == 0) return 1;
            h_key += next;
            if (h_key >= M) h_key = h_key - M;
        }
    }
    return 0;
}

int insert(char str[]) {
    int h_key,next;
    long long key;
    key = getKey(str);
    h_key = h1(key);
    if (H[h_key][0] == '\0') strcpy(H[h_key], str);
    else {
        next = h2(key);
        h_key += next;
        if (h_key >= M) h_key = h_key - M;
        while (1) {
            if (H[h_key][0] == '\0') {
                strcpy(H[h_key], str);
                break;
            }
            h_key += next;
            if (h_key >= M) h_key = h_key - M;
        }
    }
}

int main() {
    int i, n, h;
    char str[L], com[9];
    for (i = 0; i < M; i++) H[i][0] = '\0';

    scanf("%d", &n);

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

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

    return 0;
}

