#include<stdio.h>
#include<string.h>
 
#define M 1000003
#define L 14
 
char H[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;
    }
    return 0;
}
 
long long getK(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 hash1(int k) {
    return k % M;
}
 
int hash2(int k) {
    return 1 + k % (M - 1);
}
 
int getHashValue(char str[], int i) {
    return (hash1(getKey(str)) + i * hash2(getKey(str))) % M;
}
 
int find(char str[]) {
    int hash, i = 0;
 
    while (1) {
        hashval = getHashValue(str, i);
        if (!strcmp(H[hash], str)) return 1;
        if (!strcmp(H[hash], "\0")) return 0;
        i++;
    }
}
 
void insert(char str[]) {
    int hash, i = 0;
 
    while (1) {
        hash = getHashValue(str, i);
        if (!strcmp(H[hash], "\0")) {
            strcpy(H[hash], str);
            break;
        }
        i++;
    }
}
 
int main() {
    int i, n;
    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;
}