import sys sys.setrecursionlimit(10**5) def aa(m): global mod c=0;d=0 if s[m+1]!="a": d=1 if s[m+1]!="e": c=1 m+=4 a=[0,0,0] if s[m]=="m": a,m=aa(m) elif s[m]=="?": a=[1]*3;m+=1 else: a[int(s[m])]=1;m+=1 m+=1 b=[0,0,0] if s[m]=="m": b,m=aa(m) elif s[m]=="?": b=[1]*3;m+=1 else: b[int(s[m])]=1;m+=1 m+=1 res=[0]*3 if c: for i in range(3): for j in range(3): res[max(i,j)]+=a[i]*b[j];res[max(i,j)]%=mod if d: for i in range(3): for j in range(3): for l in range(3): if i!=l and j!=l: res[l]+=a[i]*b[j];res[l]%=mod break return res,m mod=998244353 s=input();k=int(input()) if len(s)==1: print(1 if str(k)==s else 0);exit() a,b=aa(0) print(a[k])