classTrie{int n;int[][] son;int[] cnt;int idx =0;Trie(int n){this.n = n;
son =newint[n][26];
cnt =newint[n];}publicvoidinsert(String s){char[] c = s.toCharArray();int p =0;for(int i =0; i < c.length; i++){int u = c[i]-'a';if(son[p][u]==0) son[p][u]=++idx;
p = son[p][u];}
cnt[p]++;}publicintquery(String s){char[] c = s.toCharArray();int p =0;for(int i =0; i < c.length; i++){int u = c[i]-'a';if(son[p][u]==0)return0;
p = son[p][u];}return cnt[p];}}