#include using namespace std; //参考 //https://qiita.com/butsurizuki/items/7c1dd4916b9495beacea struct node{ int child[26]; // その頂点の子の情報 long long weight; // その頂点が表す文字列の重み long long endw; }; int main(void){ int n,m; cin>>n>>m; vectors(n); for(int i=0;i>s[i]; node init; for(int i=0;i<26;i++){init.child[i]=-1;} init.weight=0; init.endw=0; vector trie={init}; for(int i=0;i>st; stackans; st.push({0,0,1}); while(!st.empty()){ int nownode=st.top()[0],nxval=st.top()[1],op=st.top()[2]; st.pop(); if(op==1){ tmp-=trie[nownode].endw; if(tmp<0){ tmp+=trie[nownode].endw; ans.pop(); continue; } if(tmp-trie[nownode].weight<0||nownode==0){ if(trie[nownode].child[nxval]==-1){ ans.push(nxval); cout<<"Yes"<