import java.util.*;


public class Solution {
    /**
     * 
     * @param operators string字符串二维数组 the ops
     * @return string字符串一维数组
     */
    int[][] trie = new int[(int)2e6+10][26];
    int[] end = new int[(int)2e6+10];
    int[] pre = new int[(int)2e6+10];
    int cnt = 0;
    void insert(String x){
        int p = 0;
        for(int i = 0; i < x.length(); i++){
            int t = x.charAt(i)-'a';
            if(trie[p][t] == 0){
                trie[p][t] = ++cnt;
            }
            p = trie[p][t]; 
            pre[p]++;
        }
        end[p]++;
    }
     boolean isExist(String x){
        int p = 0;
        for(int i = 0; i < x.length(); i++){
            int t = x.charAt(i)-'a';
            if(trie[p][t] == 0){
                return false;
            }
            p = trie[p][t];  
        }
         return end[p] == 0 ? false:true;
    }
    void remove(String x){
        if(!isExist(x)){
            return;
        }
        int p = 0;
        for(int i = 0; i < x.length(); i++){
            int t = x.charAt(i)-'a';
            p = trie[p][t];
            pre[p]--;
        }
        end[p]--;
    }
    int queryPre(String x){
        int p = 0;
        for(int i = 0; i < x.length(); i++){
            int t = x.charAt(i)-'a';
            if(trie[p][t] == 0){
                return 0;
            }
            p = trie[p][t];
        }
        return pre[p];
    
    }
    public String[] trieU (String[][] operators) {
        // write code here
        ArrayList<String> list = new ArrayList<>();
        for(String[] x:operators){
            if("1".equals(x[0])){
                insert(x[1]);
            }else if("2".equals(x[0])){
                remove(x[1]);
            }else if("3".equals(x[0])){
                if(isExist(x[1])){
                    list.add("YES");
                }else{
                    list.add("NO");
                }
            }else{
                list.add(""+queryPre(x[1]));
            }
        }
        String[]ans = new String[list.size()];
        int t = 0;
        for(String x:list){
            ans[t++] = x;
        }
        return ans;
    }
}