mod = 998244353 def lst(n): if n == "0": return [1, 0, 0] elif n == "1": return [0, 1, 0] elif n == "2": return [0, 0, 1] elif n == "?": return [1, 1, 1] else: return n def calc(X, Y, ae): temp = [0, 0, 0] if ae == "a": temp[2] = sum(X) * Y[2] + sum(Y) * X[2] - X[2] * Y[2] temp[1] = (X[1] + X[0]) * (Y[1] + Y[0]) - Y[0] * X[0] temp[0] = X[0] * Y[0] elif ae == "e": temp[0] = (X[1] + X[2]) * (Y[1] + Y[2]) temp[1] = (X[0] + X[2]) * (Y[0] + Y[2]) - X[2] * Y[2] temp[2] = X[0] * Y[1] + X[1] * Y[0] else: temp[0] = (X[1] + X[2]) * (Y[1] + Y[2]) + X[0] * Y[0] temp[1] = (X[0] + X[2]) * (Y[0] + Y[2]) - X[2] * Y[2] + (X[1] + X[0]) * (Y[1] + Y[0]) - Y[0] * X[0] temp[2] = X[0] * Y[1] + X[1] * Y[0] + sum(X) * Y[2] + sum(Y) * X[2] - X[2] * Y[2] temp[0] %= mod temp[1] %= mod temp[2] %= mod # print("calc_test", X, Y, temp, ae) return temp S = list(input()) K = int(input()) stack = [] for s in S: if s == "m" or s == "x": continue elif s != ")": stack.append(s) else: A = lst(stack.pop()) stack.pop() B = lst(stack.pop()) stack.pop() ae = stack.pop() stack.append(calc(A, B, ae)) # print("test", s, stack) if stack[0] in ["0", "1", "2"]: if K == int(stack[0]): print(1) else: print(0) else: print(stack[0][K])