from itertools import groupby N, K = map(int, input().split()) S = list(input()) if N == 2 and K == 2 and S == ["(", ")"]: print("No") exit() def is_valid(S): stack = [] for s in S: stack.append(s) if len(stack) >= 2 and stack[-2:] == ["(", ")"]: stack.pop() stack.pop() return len(stack) == 0 if not is_valid(S): print("No") exit() rle = [(k, len(list(v))) for k, v in groupby(S)] ans = [] for k, v in rle: if k == "(": for i in range(v): ans.append("(") ans.append("1") ans.append("+") else: ans.append("1") for i in range(v): ans.append(")") ans.append("+") ans.pop() if ans.count("1") <= K: cnt = ans.count("1") for i in range(K - cnt): ans.append("+") ans.append("1") print("Yes") print(*ans, sep="") else: print("No") exit()