from sortedcontainers import SortedSet N,Q=map(int,input().split()) idx=[SortedSet() for i in range(26)] S=input() for i in range(N): idx[ord(S[i])-97].add(i) ans=[] for _ in range(Q): q=list(input().split()) if q[0]=='1': i,c=q[1:] i=int(i)-1 idx[ord(S[i])-97].remove(i) idx[ord(c)-97].add(i) else: cur=-1 ok=True t=q[1] for i in range(len(t)): if not idx[ord(t[i])-97]: ok=False break nx=idx[ord(t[i])-97].bisect_right(cur) if nx==len(idx[ord(t[i])-97]): ok=False break cur=idx[ord(t[i])-97][nx] ans.append("Yes" if ok else 'No') import sys sys.stdout.write('\n'.join(map(str,ans))+'\n')